]> granicus.if.org Git - php/commitdiff
Fixed bug #45779 (regression with shebang lines processing)
authorDmitry Stogov <dmitry@php.net>
Wed, 13 Aug 2008 06:17:15 +0000 (06:17 +0000)
committerDmitry Stogov <dmitry@php.net>
Wed, 13 Aug 2008 06:17:15 +0000 (06:17 +0000)
Zend/zend_language_scanner.l
Zend/zend_language_scanner_defs.h
sapi/cli/php_cli.c

index fa3e8a7f4c70668605b96d069698bec131ca1fd2..5bec6598371f10590785f73459ed0f27307684b4 100644 (file)
@@ -1340,6 +1340,7 @@ yymore_restart:
                while (++YYCURSOR < YYLIMIT) {
                        if (*YYCURSOR == '\n') {
                                ++YYCURSOR;
+                               CG(zend_lineno)++;
                                goto restart;
                        }
 
@@ -1347,6 +1348,7 @@ yymore_restart:
                                if (++YYCURSOR < YYLIMIT && *YYCURSOR == '\n') { /* match \r\n as single newline */
                                        ++YYCURSOR;
                                }
+                               CG(zend_lineno)++;
                                goto restart;
                        }
                }
index f085edb101ebdb77c998363b42479d518ff49f0e..25d8b21d56d26668ca639df9cec26ad27e7d4eb1 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Mon Jul 28 15:05:16 2008 */
+/* Generated by re2c 0.13.5 on Tue Aug 12 20:42:02 2008 */
 #line 3 "Zend/zend_language_scanner_defs.h"
 
 enum YYCONDTYPE {
index 9108b965e6f5c384d48a601bb7461ad917f725a1..44427bae1fa3ae2ec2bbabb3462675b640234ea4 100644 (file)
@@ -590,23 +590,6 @@ static int cli_seek_file_begin(zend_file_handle *file_handle, char *script_file,
                return FAILURE;
        }
        file_handle->filename = script_file;
-       /* #!php support */
-       c = fgetc(file_handle->handle.fp);
-       if (c == '#') {
-               while (c != '\n' && c != '\r') {
-                       c = fgetc(file_handle->handle.fp);      /* skip to end of line */
-               }
-               /* handle situations where line is terminated by \r\n */
-               if (c == '\r') {
-                       if (fgetc(file_handle->handle.fp) != '\n') {
-                               long pos = ftell(file_handle->handle.fp);
-                               fseek(file_handle->handle.fp, pos - 1, SEEK_SET);
-                       }
-               }
-               *lineno = 2;
-       } else {
-               rewind(file_handle->handle.fp);
-       }
        return SUCCESS;
 }
 /* }}} */