? dist.log
? gnome-vfs-2.5.1.tar.gz
? gnome-vfs-mime.c
? intltool-modules
? portability.diff
? show_bug.cgi?id=132652
? showattachment.cgi?attach_id=23797
? showattachment.cgi?attach_id=24373
? showattachment.cgi?attach_id=24375
? showattachment.cgi?attach_id=24525
? xdg.diff
? daemon/vfs-daemon
? doc/xml
? doc/tmpl/gnome-vfs-2.0-unused.sgml
? doc/tmpl/gnome-vfs.sgml
? gtk/Makefile
? gtk/Makefile.in
? libgnomevfs/gnome-vfs-enum-types.c
? libgnomevfs/gnome-vfs-enum-types.h
? libgnomevfs/mime.diff
? libgnomevfs/s-enum-types-c
? libgnomevfs/s-enum-types-h
? modules/leaks2.diff
Index: libgnomevfs/xdgmimemagic.c
===================================================================
RCS file: /cvs/gnome/gnome-vfs/libgnomevfs/xdgmimemagic.c,v
retrieving revision 1.5
diff -u -r1.5 xdgmimemagic.c
--- libgnomevfs/xdgmimemagic.c	21 Jan 2004 14:32:38 -0000	1.5
+++ libgnomevfs/xdgmimemagic.c	23 Feb 2004 22:52:17 -0000
@@ -559,12 +559,12 @@
 					size_t                len,
 					int                   indent)
 {
-  while (matchlet != NULL && matchlet->indent == indent)
+  while ((matchlet != NULL) && (matchlet->indent == indent))
     {
       if (_xdg_mime_magic_matchlet_compare_to_data (matchlet, data, len))
 	{
-	  if (matchlet->next == NULL ||
-	      matchlet->next->indent <= indent)
+	  if ((matchlet->next == NULL) ||
+	      (matchlet->next->indent <= indent))
 	    return TRUE;
 
 	  if (_xdg_mime_magic_matchlet_compare_level (matchlet->next,
@@ -686,6 +686,32 @@
   mime_magic->max_extent = max_extent;
 }
 
+static XdgMimeMagicMatchlet *
+_xdg_mime_magic_matchlet_mirror (XdgMimeMagicMatchlet *matchlets)
+{
+  XdgMimeMagicMatchlet *new_list;
+  XdgMimeMagicMatchlet *tmp;
+  
+  if ((matchlets == NULL) || (matchlets->next == NULL)) 
+    {
+      return matchlets;
+    }
+
+  new_list = NULL;
+  tmp = matchlets;
+  while (tmp != NULL) 
+    {
+      XdgMimeMagicMatchlet *matchlet;
+      matchlet = tmp;
+      tmp = tmp->next;
+      matchlet->next = new_list;
+      new_list = matchlet;
+    }
+
+  return new_list;
+  
+}
+
 static void
 _xdg_mime_magic_read_magic_file (XdgMimeMagic *mime_magic,
 				 FILE         *magic_file)
@@ -707,8 +733,11 @@
 	  break;
 	case XDG_MIME_MAGIC_MAGIC:
 	  state = _xdg_mime_magic_parse_magic_line (magic_file, match);
-	  if (state == XDG_MIME_MAGIC_SECTION)
-	    _xdg_mime_magic_insert_match (mime_magic, match);
+	  if (state == XDG_MIME_MAGIC_SECTION) 
+	    {
+	      match->matchlet = _xdg_mime_magic_matchlet_mirror (match->matchlet);
+	      _xdg_mime_magic_insert_match (mime_magic, match);
+	    }
 	  else if (state == XDG_MIME_MAGIC_EOF || state == XDG_MIME_MAGIC_ERROR)
 	    _xdg_mime_magic_match_free (match);
 	  break;
Index: programs/gnomevfs-info.c
===================================================================
RCS file: /cvs/gnome/gnome-vfs/programs/gnomevfs-info.c,v
retrieving revision 1.2
diff -u -r1.2 gnomevfs-info.c
--- programs/gnomevfs-info.c	8 Jan 2004 12:22:21 -0000	1.2
+++ programs/gnomevfs-info.c	23 Feb 2004 22:52:17 -0000
@@ -142,6 +142,7 @@
 	gnome_vfs_get_file_info (argv[1], info,
 			(GNOME_VFS_FILE_INFO_GET_MIME_TYPE
 			 | GNOME_VFS_FILE_INFO_GET_ACCESS_RIGHTS
+			 | GNOME_VFS_FILE_INFO_FORCE_SLOW_MIME_TYPE
 			 | GNOME_VFS_FILE_INFO_FOLLOW_LINKS));
 	show_file_info (info);
 
