[Win32] call rmdir() only if remove() fails with errno set to ENOENT, to

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)
This commit is contained in:
Tor Lillqvist 2006-03-31 00:26:44 +00:00 committed by Tor Lillqvist
parent d616680f3e
commit 2df600a633
3 changed files with 14 additions and 2 deletions

View 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

View 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

View 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;