gvfs r1232 - in trunk: . daemon



Author: alexl
Date: Wed Feb  6 15:53:43 2008
New Revision: 1232
URL: http://svn.gnome.org/viewvc/gvfs?rev=1232&view=rev

Log:
2008-02-06  Alexander Larsson  <alexl redhat com>

        * daemon/gvfsbackendsftp.c:
        * daemon/gvfsbackendsmb.c:
	Ensure name is set in query_info (#511601)
	Clean up setting display name of /




Modified:
   trunk/ChangeLog
   trunk/daemon/gvfsbackendsftp.c
   trunk/daemon/gvfsbackendsmb.c

Modified: trunk/daemon/gvfsbackendsftp.c
==============================================================================
--- trunk/daemon/gvfsbackendsftp.c	(original)
+++ trunk/daemon/gvfsbackendsftp.c	Wed Feb  6 15:53:43 2008
@@ -1302,6 +1302,11 @@
   if (basename != NULL && basename[0] == '.')
     g_file_info_set_is_hidden (info, TRUE);
 
+  if (basename != NULL)
+    g_file_info_set_name (info, basename);
+  else
+    g_file_info_set_name (info, "/");
+  
   if (basename != NULL && basename[strlen (basename) -1] == '~')
     g_file_info_set_attribute_boolean (info, G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP, TRUE);
 
@@ -1477,20 +1482,32 @@
    * do better, since there is no way in this version of sftp to find out
    * the remote charset encoding
    */
-  if (basename != NULL &&
-      g_file_attribute_matcher_matches (matcher,
+  if (g_file_attribute_matcher_matches (matcher,
                                         G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME))
     {
-      char *display_name = g_filename_display_name (basename);
-      
-      if (strstr (display_name, "\357\277\275") != NULL)
+      if (basename != NULL)
         {
-          char *p = display_name;
-          display_name = g_strconcat (display_name, _(" (invalid encoding)"), NULL);
-          g_free (p);
+          char *display_name = g_filename_display_name (basename);
+          
+          if (strstr (display_name, "\357\277\275") != NULL)
+            {
+              char *p = display_name;
+              display_name = g_strconcat (display_name, _(" (invalid encoding)"), NULL);
+              g_free (p);
+            }
+          g_file_info_set_display_name (info, display_name);
+          g_free (display_name);
+        }
+      else
+        {
+          char *name;
+
+          
+          /* Translators: This is the name of the root of an sftp share, like "/ on <hostname>" */
+          name = g_strdup_printf (_("/ on %s"), G_VFS_BACKEND_SFTP (backend)->host);
+          g_file_info_set_display_name (info, name);
+          g_free (name);
         }
-      g_file_info_set_display_name (info, display_name);
-      g_free (display_name);
     }
   
   if (basename != NULL &&
@@ -3013,15 +3030,6 @@
         basename = g_path_get_basename (G_VFS_JOB_QUERY_INFO (job)->filename);
       parse_attributes (backend, data->stat_info, basename,
                         reply, G_VFS_JOB_QUERY_INFO (job)->attribute_matcher);
-      if (basename == NULL)
-        {
-          char *name;
-
-          /* Translators: This is the name of the root of an sftp share, like "/ on <hostname>" */
-          name = g_strdup_printf (_("/ on %s"), G_VFS_BACKEND_SFTP (backend)->host);
-          g_file_info_set_display_name (data->stat_info, name);
-          g_free (name);
-        }
       g_free (basename);
     }
 
@@ -3055,15 +3063,6 @@
         basename = g_path_get_basename (G_VFS_JOB_QUERY_INFO (job)->filename);
       parse_attributes (backend, data->lstat_info, basename,
                         reply, G_VFS_JOB_QUERY_INFO (job)->attribute_matcher);
-      if (basename == NULL)
-        {
-          char *name;
-          
-          /* Translators: This is the name of the root of an sftp share, like "/ on <hostname>" */
-          name = g_strdup_printf (_("/ on %s"), G_VFS_BACKEND_SFTP (backend)->host);
-          g_file_info_set_display_name (data->lstat_info, name);
-          g_free (name);
-        }
       g_free (basename);
     }
 

Modified: trunk/daemon/gvfsbackendsmb.c
==============================================================================
--- trunk/daemon/gvfsbackendsmb.c	(original)
+++ trunk/daemon/gvfsbackendsmb.c	Wed Feb  6 15:53:43 2008
@@ -1144,6 +1144,8 @@
   char *content_type;
   char *display_name;
 
+  if (basename) 
+    g_file_info_set_name (info, basename);
 
   if (basename != NULL &&
       g_file_attribute_matcher_matches (matcher,
@@ -1461,8 +1463,6 @@
 		  if (stat_res == 0)
 		    {
 		      info = g_file_info_new ();
-		      g_file_info_set_name (info, dirp->name);
-		      
 		      set_info_from_stat (op_backend, info, &st, dirp->name, matcher);
 		      files = g_list_prepend (files, info);
 		    }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]