Bug 548163 – Nautilus displays wrong error message for too long file
authorMatthias Clasen <matthiasc@src.gnome.org>
Fri, 28 Nov 2008 08:05:49 +0000 (08:05 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Fri, 28 Nov 2008 08:05:49 +0000 (08:05 +0000)
        names

        * glocalfile.c (g_local_file_set_display_name): Correctly set
        error conditions if the new name is e.g. too long. Reported
        by Leonardo Ferreira Fontenelle.

svn path=/trunk/; revision=7696

gio/ChangeLog
gio/glocalfile.c

index e3bd9b6..bbb87a0 100644 (file)
@@ -1,5 +1,14 @@
 2008-11-28  Matthias Clasen  <mclasen@redhat.com>
 
+       Bug 548163 – Nautilus displays wrong error message for too long file
+       names
+
+       * glocalfile.c (g_local_file_set_display_name): Correctly set
+       error conditions if the new name is e.g. too long. Reported
+       by Leonardo Ferreira Fontenelle.
+
+2008-11-28  Matthias Clasen  <mclasen@redhat.com>
+
        Bug 547481 – g_data_input_stream_read_line behaves not as stated in
        the docs
 
index fb890db..4d772b4 100644 (file)
@@ -1116,12 +1116,23 @@ g_local_file_set_display_name (GFile         *file,
   
   if (new_file == NULL)
     return NULL;
-  
   local = G_LOCAL_FILE (file);
   new_local = G_LOCAL_FILE (new_file);
 
-  if (!(g_lstat (new_local->filename, &statbuf) == -1 &&
-       errno == ENOENT))
+  if (g_lstat (new_local->filename, &statbuf) == -1) 
+    {
+      errsv = errno;
+
+      if (errsv != ENOENT)
+        {
+         g_set_error (error, G_IO_ERROR,
+                      g_io_error_from_errno (errsv),
+                      _("Error renaming file: %s"),
+                      g_strerror (errsv));
+          return NULL;
+        }
+    }
+  else
     {
       g_set_error_literal (error, G_IO_ERROR,
                            G_IO_ERROR_EXISTS,