Hi: okey, in this case , I will remove it .
thanks 2011/9/21 Pierre Joye <pierre....@gmail.com>: > VCWD_GETCWD is sufficient. > > On Wed, Sep 21, 2011 at 1:49 AM, Moriyoshi Koizumi <m...@mozo.jp> wrote: >> Hi, >> >> Where does HAVE_BROKEN_GETCWD come from? Isn't simply using VCWD_GETCWD >> sufficient? >> >> Moriyoshi >> >> On 2011/09/20, at 16:06, Xinchen Hui wrote: >> >>> laruence Tue, 20 Sep 2011 07:06:55 +0000 >>> >>> Revision: http://svn.php.net/viewvc?view=revision&revision=317040 >>> >>> Log: >>> Fix Bug #55726 (Changing the working directory makes router script >>> inaccessible) >>> >>> Bug: https://bugs.php.net/55726 (Assigned) Changing the working directory >>> makes router script inaccessible >>> >>> Changed paths: >>> U php/php-src/branches/PHP_5_4/sapi/cli/php_cli_server.c >>> U php/php-src/trunk/sapi/cli/php_cli_server.c >>> >>> Modified: php/php-src/branches/PHP_5_4/sapi/cli/php_cli_server.c >>> =================================================================== >>> --- php/php-src/branches/PHP_5_4/sapi/cli/php_cli_server.c 2011-09-20 >>> 05:42:36 UTC (rev 317039) >>> +++ php/php-src/branches/PHP_5_4/sapi/cli/php_cli_server.c 2011-09-20 >>> 07:06:55 UTC (rev 317040) >>> @@ -1877,11 +1877,24 @@ >>> } >>> { >>> zend_file_handle zfd; >>> +#if HAVE_BROKEN_GETCWD >>> + int old_cwd_fd = -1; >>> + old_cwd_fd = open(".", 0); >>> +#else >>> + char *old_cwd; >>> + ALLOCA_FLAG(use_heap) >>> +#define OLD_CWD_SIZE 4096 >>> + old_cwd = do_alloca(OLD_CWD_SIZE, use_heap); >>> + old_cwd[0] = '\0'; >>> + php_ignore_value(VCWD_GETCWD(old_cwd, OLD_CWD_SIZE-1)); >>> +#endif >>> + >>> zfd.type = ZEND_HANDLE_FILENAME; >>> zfd.filename = server->router; >>> zfd.handle.fp = NULL; >>> zfd.free_filename = 0; >>> zfd.opened_path = NULL; >>> + >>> zend_try { >>> zval *retval = NULL; >>> if (SUCCESS == zend_execute_scripts(ZEND_REQUIRE >>> TSRMLS_CC, &retval, 1, &zfd)) { >>> @@ -1893,6 +1906,18 @@ >>> decline = 1; >>> } >>> } zend_end_try(); >>> + >>> +#if HAVE_BROKEN_GETCWD >>> + if (old_cwd_fd != -1) { >>> + fchdir(old_cwd_fd); >>> + close(old_cwd_fd); >>> + } >>> +#else >>> + if (old_cwd[0] != '\0') { >>> + php_ignore_value(VCWD_CHDIR(old_cwd)); >>> + } >>> + free_alloca(old_cwd, use_heap); >>> +#endif >>> } >>> >>> if (decline) { >>> >>> Modified: php/php-src/trunk/sapi/cli/php_cli_server.c >>> =================================================================== >>> --- php/php-src/trunk/sapi/cli/php_cli_server.c 2011-09-20 05:42:36 >>> UTC (rev 317039) >>> +++ php/php-src/trunk/sapi/cli/php_cli_server.c 2011-09-20 07:06:55 >>> UTC (rev 317040) >>> @@ -1877,11 +1877,24 @@ >>> } >>> { >>> zend_file_handle zfd; >>> +#if HAVE_BROKEN_GETCWD >>> + int old_cwd_fd = -1; >>> + old_cwd_fd = open(".", 0); >>> +#else >>> + char *old_cwd; >>> + ALLOCA_FLAG(use_heap) >>> +#define OLD_CWD_SIZE 4096 >>> + old_cwd = do_alloca(OLD_CWD_SIZE, use_heap); >>> + old_cwd[0] = '\0'; >>> + php_ignore_value(VCWD_GETCWD(old_cwd, OLD_CWD_SIZE-1)); >>> +#endif >>> + >>> zfd.type = ZEND_HANDLE_FILENAME; >>> zfd.filename = server->router; >>> zfd.handle.fp = NULL; >>> zfd.free_filename = 0; >>> zfd.opened_path = NULL; >>> + >>> zend_try { >>> zval *retval = NULL; >>> if (SUCCESS == zend_execute_scripts(ZEND_REQUIRE >>> TSRMLS_CC, &retval, 1, &zfd)) { >>> @@ -1893,6 +1906,18 @@ >>> decline = 1; >>> } >>> } zend_end_try(); >>> + >>> +#if HAVE_BROKEN_GETCWD >>> + if (old_cwd_fd != -1) { >>> + fchdir(old_cwd_fd); >>> + close(old_cwd_fd); >>> + } >>> +#else >>> + if (old_cwd[0] != '\0') { >>> + php_ignore_value(VCWD_CHDIR(old_cwd)); >>> + } >>> + free_alloca(old_cwd, use_heap); >>> +#endif >>> } >>> >>> if (decline) { >>> >>> -- >>> PHP CVS Mailing List (http://www.php.net/) >>> To unsubscribe, visit: http://www.php.net/unsub.php >> >> -- >> Moriyoshi Koizumi >> m...@mozo.jp >> >> >> >> >> -- >> PHP CVS Mailing List (http://www.php.net/) >> To unsubscribe, visit: http://www.php.net/unsub.php >> >> > > > > -- > Pierre > > @pierrejoye | http://blog.thepimp.net | http://www.libgd.org > -- Laruence Xinchen Hui http://www.laruence.com/