pajoye Fri, 10 Sep 2010 19:21:02 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=303262
Log: - remove 'UNC' from the target Changed paths: U php/php-src/branches/PHP_5_3/TSRM/tsrm_virtual_cwd.c U php/php-src/trunk/TSRM/tsrm_virtual_cwd.c Modified: php/php-src/branches/PHP_5_3/TSRM/tsrm_virtual_cwd.c =================================================================== --- php/php-src/branches/PHP_5_3/TSRM/tsrm_virtual_cwd.c 2010-09-10 18:20:43 UTC (rev 303261) +++ php/php-src/branches/PHP_5_3/TSRM/tsrm_virtual_cwd.c 2010-09-10 19:21:02 UTC (rev 303262) @@ -249,9 +249,17 @@ /* Skip first 4 characters if they are "\??\" */ if(target[0] == '\\' && target[1] == '\\' && target[2] == '?' && target[3] == '\\') { char tmp[MAXPATHLEN]; - + unsigned int offset = 4; dwRet -= 4; - memcpy(tmp, target + 4, dwRet); + + /* \??\UNC\ */ + if (dwRet > 7 && target[4] == 'U' && target[5] == 'N' && target[6] == 'C') { + offset += 2; + dwRet -= 2; + target[offset] = '\\'; + } + + memcpy(tmp, target + offset, dwRet); memcpy(target, tmp, dwRet); } } Modified: php/php-src/trunk/TSRM/tsrm_virtual_cwd.c =================================================================== --- php/php-src/trunk/TSRM/tsrm_virtual_cwd.c 2010-09-10 18:20:43 UTC (rev 303261) +++ php/php-src/trunk/TSRM/tsrm_virtual_cwd.c 2010-09-10 19:21:02 UTC (rev 303262) @@ -249,9 +249,17 @@ /* Skip first 4 characters if they are "\??\" */ if(target[0] == '\\' && target[1] == '\\' && target[2] == '?' && target[3] == '\\') { char tmp[MAXPATHLEN]; + unsigned int offset = 4; + dwRet -= 4; - dwRet -= 4; - memcpy(tmp, target + 4, dwRet); + /* \??\UNC\ */ + if (dwRet > 7 && target[4] == 'U' && target[5] == 'N' && target[6] == 'C') { + offset += 2; + dwRet -= 2; + target[offset] = '\\'; + } + + memcpy(tmp, target + offset, dwRet); memcpy(target, tmp, dwRet); } }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php