]> granicus.if.org Git - php/commitdiff
set errno in ioutil access routine
authorAnatol Belski <ab@php.net>
Fri, 29 Jul 2016 12:31:06 +0000 (14:31 +0200)
committerAnatol Belski <ab@php.net>
Fri, 29 Jul 2016 12:31:06 +0000 (14:31 +0200)
win32/ioutil.h

index 2a02d52c51f7140a790ffa41c43f0357532fa5bf..ea40db4c6639f541b86b2f2753252fd51de212f7 100644 (file)
@@ -230,7 +230,7 @@ PW32IO int php_win32_ioutil_access_w(const wchar_t *path, mode_t mode);
 __forceinline static int php_win32_ioutil_access(const char *path, mode_t mode)
 {/*{{{*/
        PHP_WIN32_IOUTIL_INIT_W(path)
-       int ret;
+       int ret, err;
 
        if (!pathw) {
                SET_ERRNO_FROM_WIN32_CODE(ERROR_INVALID_PARAMETER);
@@ -239,10 +239,14 @@ __forceinline static int php_win32_ioutil_access(const char *path, mode_t mode)
 
        PHP_WIN32_IOUTIL_CHECK_PATH_W(pathw, -1)
 
-       /* TODO set errno. */
        ret = _waccess(pathw, mode);
+       _get_errno(&err);
        PHP_WIN32_IOUTIL_CLEANUP_W()
 
+       if (0 > ret) {
+               _set_errno(err);
+       }
+
        return ret;
 }/*}}}*/