pajoye          Tue Jun 16 16:50:13 2009 UTC

  Modified files:              (Branch: PHP_5_3)
    /php-src/ext/standard       link_win32.c 
  Log:
  - fix readlink in TS SAPI
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/link_win32.c?r1=1.1.2.4&r2=1.1.2.5&diff_format=u
Index: php-src/ext/standard/link_win32.c
diff -u php-src/ext/standard/link_win32.c:1.1.2.4 
php-src/ext/standard/link_win32.c:1.1.2.5
--- php-src/ext/standard/link_win32.c:1.1.2.4   Wed Jun  3 07:56:53 2009
+++ php-src/ext/standard/link_win32.c   Tue Jun 16 16:50:13 2009
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: link_win32.c,v 1.1.2.4 2009/06/03 07:56:53 pajoye Exp $ */
+/* $Id: link_win32.c,v 1.1.2.5 2009/06/16 16:50:13 pajoye Exp $ */
 #ifdef PHP_WIN32
 
 #include "php.h"
@@ -63,6 +63,7 @@
        char *link;
        int link_len;
        TCHAR Path[MAXPATHLEN];
+       char path_resolved[MAXPATHLEN];
        HANDLE hFile;
        DWORD dwRet;
 
@@ -89,14 +90,17 @@
        if (OPENBASEDIR_CHECKPATH(link)) {
                RETURN_FALSE;
        }
-
-       hFile = CreateFile(link,                  // file to open
-                                                                               
 GENERIC_READ,          // open for reading
-                                                                               
 FILE_SHARE_READ,       // share for reading
-                                                                               
 NULL,                  // default security
-                                                                               
 OPEN_EXISTING,         // existing file only
-                                                                               
 FILE_FLAG_BACKUP_SEMANTICS, // normal file
-                                                                               
 NULL);                 // no attr. template
+       if (!expand_filepath(link, path_resolved TSRMLS_CC)) {
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "No such file or 
directory");
+               RETURN_FALSE;
+       }
+       hFile = CreateFile(path_resolved,                  // file to open
+                                GENERIC_READ,          // open for reading
+                                FILE_SHARE_READ,       // share for reading
+                                NULL,                  // default security
+                                OPEN_EXISTING,         // existing file only
+                                FILE_FLAG_BACKUP_SEMANTICS, // normal file
+                                NULL);                 // no attr. template
 
        if( hFile == INVALID_HANDLE_VALUE) {
                        php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not 
open file (error %d)", GetLastError());



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to