{
cwd_state new_state;
FILE *f;
+#ifdef TSRM_WIN32
+ DWORD last_error;
+#endif
if (path[0] == '\0') { /* Fail to open empty path */
return NULL;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
if (virtual_file_ex(&new_state, path, NULL, CWD_EXPAND TSRMLS_CC)) {
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return NULL;
}
f = fopen(new_state.cwd, mode);
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return f;
}
/* }}} */
{
cwd_state new_state;
int ret;
+#ifdef TSRM_WIN32
+ DWORD last_error;
+#endif
CWD_STATE_COPY(&new_state, &CWDG(cwd));
if (virtual_file_ex(&new_state, pathname, NULL, CWD_REALPATH TSRMLS_CC)) {
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return -1;
}
#if defined(TSRM_WIN32)
ret = tsrm_win32_access(new_state.cwd, mode TSRMLS_CC);
+ last_error = GetLastError();
#else
ret = access(new_state.cwd, mode);
#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return ret;
}
{
cwd_state new_state;
int ret;
+#ifdef TSRM_WIN32
+ DWORD last_error;
+#endif
CWD_STATE_COPY(&new_state, &CWDG(cwd));
if (virtual_file_ex(&new_state, filename, NULL, CWD_REALPATH TSRMLS_CC)) {
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return -1;
}
#ifdef TSRM_WIN32
ret = win32_utime(new_state.cwd, buf);
+ last_error = GetLastError();
#else
ret = utime(new_state.cwd, buf);
#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return ret;
}
/* }}} */
{
cwd_state new_state;
int ret;
+#ifdef TSRM_WIN32
+ DWORD last_error;
+#endif
CWD_STATE_COPY(&new_state, &CWDG(cwd));
if (virtual_file_ex(&new_state, filename, NULL, CWD_REALPATH TSRMLS_CC)) {
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return -1;
}
ret = chmod(new_state.cwd, mode);
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return ret;
}
/* }}} */
{
cwd_state new_state;
int ret;
+#ifdef TSRM_WIN32
+ DWORD last_error;
+#endif
CWD_STATE_COPY(&new_state, &CWDG(cwd));
if (virtual_file_ex(&new_state, filename, NULL, CWD_REALPATH TSRMLS_CC)) {
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return -1;
}
ret = chown(new_state.cwd, owner, group);
}
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return ret;
}
/* }}} */
{
cwd_state new_state;
int f;
+#ifdef TSRM_WIN32
+ DWORD last_error;
+#endif
CWD_STATE_COPY(&new_state, &CWDG(cwd));
if (virtual_file_ex(&new_state, path, NULL, CWD_FILEPATH TSRMLS_CC)) {
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return -1;
}
} else {
f = open(new_state.cwd, flags);
}
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return f;
}
/* }}} */
{
cwd_state new_state;
int f;
+#ifdef TSRM_WIN32
+ DWORD last_error;
+#endif
CWD_STATE_COPY(&new_state, &CWDG(cwd));
if (virtual_file_ex(&new_state, path, NULL, CWD_FILEPATH TSRMLS_CC)) {
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return -1;
}
f = creat(new_state.cwd, mode);
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return f;
}
/* }}} */
CWD_STATE_COPY(&old_state, &CWDG(cwd));
if (virtual_file_ex(&old_state, oldname, NULL, CWD_EXPAND TSRMLS_CC)) {
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&old_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return -1;
}
oldname = old_state.cwd;
CWD_STATE_COPY(&new_state, &CWDG(cwd));
if (virtual_file_ex(&new_state, newname, NULL, CWD_EXPAND TSRMLS_CC)) {
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&old_state);
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return -1;
}
newname = new_state.cwd;
{
cwd_state new_state;
int retval;
+#ifdef TSRM_WIN32
+ DWORD last_error;
+#endif
CWD_STATE_COPY(&new_state, &CWDG(cwd));
if (virtual_file_ex(&new_state, path, NULL, CWD_REALPATH TSRMLS_CC)) {
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return -1;
}
retval = php_sys_stat(new_state.cwd, buf);
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return retval;
}
/* }}} */
{
cwd_state new_state;
int retval;
+#ifdef TSRM_WIN32
+ DWORD last_error;
+#endif
CWD_STATE_COPY(&new_state, &CWDG(cwd));
if (virtual_file_ex(&new_state, path, NULL, CWD_EXPAND TSRMLS_CC)) {
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return -1;
}
retval = php_sys_lstat(new_state.cwd, buf);
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return retval;
}
/* }}} */
{
cwd_state new_state;
int retval;
+#ifdef TSRM_WIN32
+ DWORD last_error;
+#endif
CWD_STATE_COPY(&new_state, &CWDG(cwd));
if (virtual_file_ex(&new_state, path, NULL, CWD_EXPAND TSRMLS_CC)) {
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return -1;
}
retval = unlink(new_state.cwd);
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return retval;
}
/* }}} */
{
cwd_state new_state;
int retval;
+#ifdef TSRM_WIN32
+ DWORD last_error;
+#endif
CWD_STATE_COPY(&new_state, &CWDG(cwd));
if (virtual_file_ex(&new_state, pathname, NULL, CWD_FILEPATH TSRMLS_CC)) {
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return -1;
}
#ifdef TSRM_WIN32
retval = mkdir(new_state.cwd);
+ last_error = GetLastError();
#else
retval = mkdir(new_state.cwd, mode);
#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return retval;
}
/* }}} */
{
cwd_state new_state;
int retval;
+#ifdef TSRM_WIN32
+ DWORD last_error;
+#endif
CWD_STATE_COPY(&new_state, &CWDG(cwd));
if (virtual_file_ex(&new_state, pathname, NULL, CWD_EXPAND TSRMLS_CC)) {
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return -1;
}
retval = rmdir(new_state.cwd);
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return retval;
}
/* }}} */
{
cwd_state new_state;
DIR *retval;
+#ifdef TSRM_WIN32
+ DWORD last_error;
+#endif
CWD_STATE_COPY(&new_state, &CWDG(cwd));
if (virtual_file_ex(&new_state, pathname, NULL, CWD_REALPATH TSRMLS_CC)) {
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return NULL;
}
retval = opendir(new_state.cwd);
+#ifdef TSRM_WIN32
+ last_error = GetLastError();
+#endif
CWD_STATE_FREE(&new_state);
+#ifdef TSRM_WIN32
+ SetLastError(last_error);
+#endif
return retval;
}
/* }}} */