summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Tan <jtanx@outlook.com>2019-06-17 19:13:31 +1000
committerJeremy Tan <jtanx@outlook.com>2019-06-21 21:17:29 +1000
commit04dcee181400228650236f17a475de42350cc6b7 (patch)
treecaa274ffd95898e00a116f66b544e3e67751d347
parent3addc38ca2a623a506ab8e0ae00f21c2f0ab3a1f (diff)
downloadglib-04dcee181400228650236f17a475de42350cc6b7.tar.gz
gstdio: Ensure w32_err_to_errno is used everywhere, add ERROR_INVALID_PARAMETER handling
case switches in w32_err_to_errno have been alphabetically sorted. The only addition is the ERROR_INVALID_PARAMETER->EINVAL case.
-rw-r--r--glib/gstdio.c40
1 files changed, 20 insertions, 20 deletions
diff --git a/glib/gstdio.c b/glib/gstdio.c
index 16df66bd2..16cf1805f 100644
--- a/glib/gstdio.c
+++ b/glib/gstdio.c
@@ -102,22 +102,35 @@ w32_error_to_errno (DWORD error_code)
case ERROR_ACCESS_DENIED:
return EACCES;
break;
- case ERROR_INVALID_HANDLE:
- return EBADF;
+ case ERROR_ALREADY_EXISTS:
+ case ERROR_FILE_EXISTS:
+ return EEXIST;
+ case ERROR_FILE_NOT_FOUND:
+ return ENOENT;
break;
case ERROR_INVALID_FUNCTION:
return EFAULT;
break;
- case ERROR_FILE_NOT_FOUND:
- return ENOENT;
+ case ERROR_INVALID_HANDLE:
+ return EBADF;
break;
- case ERROR_PATH_NOT_FOUND:
- return ENOENT; /* or ELOOP, or ENAMETOOLONG */
+ case ERROR_INVALID_PARAMETER:
+ return EINVAL;
+ break;
+ case ERROR_LOCK_VIOLATION:
+ case ERROR_SHARING_VIOLATION:
+ return EACCES;
break;
case ERROR_NOT_ENOUGH_MEMORY:
case ERROR_OUTOFMEMORY:
return ENOMEM;
break;
+ case ERROR_NOT_SAME_DEVICE:
+ return EXDEV;
+ break;
+ case ERROR_PATH_NOT_FOUND:
+ return ENOENT; /* or ELOOP, or ENAMETOOLONG */
+ break;
default:
return EIO;
break;
@@ -1154,20 +1167,7 @@ g_rename (const gchar *oldfilename,
else
{
retval = -1;
- switch (GetLastError ())
- {
-#define CASE(a,b) case ERROR_##a: save_errno = b; break
- CASE (FILE_NOT_FOUND, ENOENT);
- CASE (PATH_NOT_FOUND, ENOENT);
- CASE (ACCESS_DENIED, EACCES);
- CASE (NOT_SAME_DEVICE, EXDEV);
- CASE (LOCK_VIOLATION, EACCES);
- CASE (SHARING_VIOLATION, EACCES);
- CASE (FILE_EXISTS, EEXIST);
- CASE (ALREADY_EXISTS, EEXIST);
-#undef CASE
- default: save_errno = EIO;
- }
+ save_errno = w32_error_to_errno (GetLastError ());
}
g_free (woldfilename);