RETURN_FALSE;
}
- dwRet = pGetFinalPathNameByHandle(hFile, Path, MAXPATHLEN, VOLUME_NAME_NT);
+ dwRet = pGetFinalPathNameByHandle(hFile, Path, MAXPATHLEN, VOLUME_NAME_DOS);
if(dwRet >= MAXPATHLEN) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Can't resolve the full path, the path exceeds the MAX_PATH_LEN (%d) limit", MAXPATHLEN);
RETURN_FALSE;
/* Append NULL to the end of the string */
Path[dwRet] = '\0';
- RETURN_STRING(Path, 1);
+ if(dwRet > 4) {
+ /* Skip first 4 characters if they are "\??\" */
+ if(Path[0] == '\\' && Path[0] == '\\' && Path[1] == '?' && Path[2] == '?' && Path[3] == '\\') {
+ RETURN_STRING(Path + 4, 1);
+ }
+ } else {
+ RETURN_STRING(Path, 1);
+ }
}
/* }}} */