Re: svn: /php/php-src/ branches/PHP_5_4/sapi/cli/php_cli_server.c trunk/sapi/cli/php_cli_server.c

From: Date: Wed, 21 Sep 2011 07:00:52 +0000
Subject: Re: svn: /php/php-src/ branches/PHP_5_4/sapi/cli/php_cli_server.c trunk/sapi/cli/php_cli_server.c
References: 1 2 3  Groups: php.cvs 
Request: Send a blank email to php-cvs+get-66607@lists.php.net to get a copy of this message
Hi: okey, in this case , I will remove it . thanks 2011/9/21 Pierre Joye <pierre.php@gmail.com>: > VCWD_GETCWD is sufficient. > > On Wed, Sep 21, 2011 at 1:49 AM, Moriyoshi Koizumi <mozo@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 >> mozo@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/

« previous php.cvs (#66607) next »