multibyte: Fixed access-> waccess to file for Windows Plarform

Reviewed-by: Marcel Raad
Closes #5580
This commit is contained in:
Valentyn Korniienko 2020-06-18 16:26:13 +03:00 committed by Daniel Stenberg
parent 3f84b3e39a
commit e39a6e2cea
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2
2 changed files with 25 additions and 0 deletions

View File

@ -129,4 +129,25 @@ int curlx_win32_stat(const char *path, struct_stat *buffer)
return result;
}
int curlx_win32_access(const char *path, int mode)
{
int result = -1;
#ifdef _UNICODE
wchar_t *path_w = curlx_convert_UTF8_to_wchar(path);
#endif /* _UNICODE */
#if defined(_UNICODE)
if(path_w)
result = _waccess(path_w, mode);
else
#endif /* _UNICODE */
result = _access(path, mode);
#ifdef _UNICODE
free(path_w);
#endif
return result;
}
#endif /* USE_WIN32_LARGE_FILES || USE_WIN32_SMALL_FILES */

View File

@ -335,8 +335,10 @@
# define struct_stat struct _stati64
# define LSEEK_ERROR (__int64)-1
# define fopen(fname,mode) curlx_win32_fopen(fname, mode)
# define access(fname,mode) curlx_win32_access(fname, mode)
int curlx_win32_stat(const char *path, struct_stat *buffer);
FILE *curlx_win32_fopen(const char *filename, const char *mode);
int curlx_win32_access(const char *path, int mode);
#endif
/*
@ -354,8 +356,10 @@
# define stat(fname,stp) curlx_win32_stat(fname, stp)
# define struct_stat struct _stat
# define fopen(fname,mode) curlx_win32_fopen(fname, mode)
# define access(fname,mode) curlx_win32_access(fname, mode)
int curlx_win32_stat(const char *path, struct_stat *buffer);
FILE *curlx_win32_fopen(const char *filename, const char *mode);
int curlx_win32_access(const char *path, int mode);
# endif
# define LSEEK_ERROR (long)-1
#endif