[Win32] call rmdir() only if remove() fails with errno set to ENOENT, to
authorTor Lillqvist <tml@novell.com>
Fri, 31 Mar 2006 00:26:44 +0000 (00:26 +0000)
committerTor Lillqvist <tml@src.gnome.org>
Fri, 31 Mar 2006 00:26:44 +0000 (00:26 +0000)
2006-03-30  Tor Lillqvist  <tml@novell.com>

* glib/gstdio.c (g_remove): [Win32] call rmdir() only if remove()
fails with errno set to ENOENT, to leave errno set to EACCESS if
that is the problem. (#334799, Yevgen Muntyan)

ChangeLog
ChangeLog.pre-2-12
glib/gstdio.c

index c65c39f..a537837 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-03-30  Tor Lillqvist  <tml@novell.com>
+
+       * glib/gstdio.c (g_remove): [Win32] call rmdir() only if remove()
+       fails with errno set to ENOENT, to leave errno set to EACCESS if
+       that is the problem. (#334799, Yevgen Muntyan)
+
 2006-03-30  Matthias Clasen  <mclasen@redhat.com>
 
        * glib/gbookmarkfile.c (g_bookmark_file_get_app_info): Sync
index c65c39f..a537837 100644 (file)
@@ -1,3 +1,9 @@
+2006-03-30  Tor Lillqvist  <tml@novell.com>
+
+       * glib/gstdio.c (g_remove): [Win32] call rmdir() only if remove()
+       fails with errno set to ENOENT, to leave errno set to EACCESS if
+       that is the problem. (#334799, Yevgen Muntyan)
+
 2006-03-30  Matthias Clasen  <mclasen@redhat.com>
 
        * glib/gbookmarkfile.c (g_bookmark_file_get_app_info): Sync
index fe75643..ac13ef6 100644 (file)
@@ -780,7 +780,7 @@ g_remove (const gchar *filename)
        }
 
       retval = _wremove (wfilename);
-      if (retval == -1)
+      if (retval == -1 && errno == ENOENT)
        retval = _wrmdir (wfilename);
       save_errno = errno;
 
@@ -802,7 +802,7 @@ g_remove (const gchar *filename)
        }
 
       retval = remove (cp_filename);
-      if (retval == -1)
+      if (retval == -1 && errno == ENOENT)
        retval = rmdir (cp_filename);
       save_errno = errno;