From: Anatol Belski Date: Wed, 17 May 2017 11:35:42 +0000 (+0200) Subject: improve error handling X-Git-Tag: php-7.1.6RC1~9 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=02e9e59bebd793905a6d833413449515e9e42160;p=php improve error handling --- diff --git a/win32/ioutil.h b/win32/ioutil.h index 1e781c665d..f0c1f53c76 100644 --- a/win32/ioutil.h +++ b/win32/ioutil.h @@ -244,7 +244,9 @@ __forceinline static int php_win32_ioutil_access(const char *path, mode_t mode) PHP_WIN32_IOUTIL_CHECK_PATH_W(pathw, -1, 1) ret = _waccess(pathw, mode); - _get_errno(&err); + if (0 > ret) { + _get_errno(&err); + } PHP_WIN32_IOUTIL_CLEANUP_W() if (0 > ret) { @@ -277,7 +279,9 @@ __forceinline static int php_win32_ioutil_open(const char *path, int flags, ...) } ret = php_win32_ioutil_open_w(pathw, flags, mode); - err = GetLastError(); + if (0 > ret) { + err = GetLastError(); + } PHP_WIN32_IOUTIL_CLEANUP_W() if (0 > ret) { @@ -366,7 +370,9 @@ __forceinline static FILE *php_win32_ioutil_fopen(const char *patha, const char } ret = _wfopen(pathw, modew); - _get_errno(&err); + if (!ret) { + _get_errno(&err); + } free(pathw); free(modew); @@ -403,7 +409,9 @@ __forceinline static int php_win32_ioutil_rename(const char *oldnamea, const cha } ret = php_win32_ioutil_rename_w(oldnamew, newnamew); - err = GetLastError(); + if (0 > ret) { + err = GetLastError(); + } free(oldnamew); free(newnamew); @@ -427,7 +435,9 @@ __forceinline static int php_win32_ioutil_chdir(const char *patha) } ret = php_win32_ioutil_chdir_w(pathw); - err = GetLastError(); + if (0 > ret) { + err = GetLastError(); + } free(pathw); @@ -493,7 +503,9 @@ __forceinline static int php_win32_ioutil_chmod(const char *patha, int mode) PHP_WIN32_IOUTIL_CHECK_PATH_W(pathw, -1, 1) ret = _wchmod(pathw, mode); - _get_errno(&err); + if (0 > ret) { + _get_errno(&err); + } free(pathw);