diff options
Diffstat (limited to 'Zend/zend_language_scanner.c')
| -rw-r--r-- | Zend/zend_language_scanner.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index 712c592946..79054758e6 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -301,6 +301,7 @@ ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC) CG(start_lineno) = 0; } else { CG(zend_lineno) = 1; + CG(shebang_len) = 0; } CG(increment_lineno) = 0; @@ -450,7 +451,7 @@ ZEND_API int zend_prepare_string_for_scanning(zval *str, char *filename TSRMLS_D ZEND_API size_t zend_get_scanned_file_offset(TSRMLS_D) { - size_t offset = SCNG(yy_cursor) - SCNG(yy_start); + size_t offset = (SCNG(yy_cursor) - SCNG(yy_start)) + CG(shebang_len); #ifdef ZEND_MULTIBYTE if (SCNG(input_filter)) { size_t original_offset = offset, length = 0; do { @@ -3514,7 +3515,7 @@ yy245: ++YYCURSOR; YYDEBUG(246, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1291 "Zend/zend_language_scanner.l" +#line 1292 "Zend/zend_language_scanner.l" { return T_SR_EQUAL; } |
