PW32IO FILE *php_win32_ioutil_fopen_w(const wchar_t *path, const wchar_t *mode)
{/*{{{*/
FILE *ret;
+ char modea[16] = {0};
+#if 0
char *modea;
- int err = 0, fd, flags;
+#endif
+ int err = 0, fd, flags, i = 0;
PHP_WIN32_IOUTIL_CHECK_PATH_W(path, NULL, 0)
/* Using the converter from streams, char only. */
+ while (i < sizeof(modea)-1 && mode[i]) {
+ modea[i] = (char)mode[i];
+ i++;
+ }
+#if 0
modea = php_win32_cp_w_to_any(mode);
if (!modea) {
err = GetLastError();
SET_ERRNO_FROM_WIN32_CODE(err);
return NULL;
}
+#endif
if (SUCCESS != php_stream_parse_fopen_modes(modea, &flags)) {
+#if 0
free(modea);
+#endif
SET_ERRNO_FROM_WIN32_CODE(ERROR_INVALID_PARAMETER);
return NULL;
}
+#if 0
free(modea);
+#endif
fd = php_win32_ioutil_open_w(path, flags, 0666);
if (0 > fd) {
__forceinline static FILE *php_win32_ioutil_fopen(const char *patha, const char *modea)
{/*{{{*/
FILE *ret;
+ wchar_t modew[16] = {0};
+#if 0
wchar_t *modew;
- int err = 0;
+#endif
+ int err = 0, i = 0;
PHP_WIN32_IOUTIL_INIT_W(patha)
if (!pathw) {
PHP_WIN32_IOUTIL_CHECK_PATH_W(pathw, NULL, 1)
+ while (i < (sizeof(modew)-1)/sizeof(wchar_t) && modea[i]) {
+ modew[i] = (wchar_t)modea[i];
+ i++;
+ }
+#if 0
modew = php_win32_cp_ascii_to_w(modea);
- if (!patha) {
+ if (!modew) {
PHP_WIN32_IOUTIL_CLEANUP_W()
SET_ERRNO_FROM_WIN32_CODE(ERROR_INVALID_PARAMETER);
return NULL;
}
+#endif
ret = php_win32_ioutil_fopen_w(pathw, modew);
if (!ret) {
err = GetLastError();
PHP_WIN32_IOUTIL_CLEANUP_W()
+#if 0
free(modew);
+#endif
SET_ERRNO_FROM_WIN32_CODE(err);
return NULL;
}
PHP_WIN32_IOUTIL_CLEANUP_W()
+#if 0
free(modew);
+#endif
return ret;
}/*}}}*/