Attached is a patch which should allow the scripting engine to also allow \r as line delimiters. If someone on Mac OS X who has had problems can test this and send me feedback that would be great. The INI file scanner and maybe other problematic places in PHP have not been fixed. I want to first see that this really addresses a problem that exists in Mac OS X. Andi
Index: zend_language_scanner.l =================================================================== RCS file: /repository/Zend/zend_language_scanner.l,v retrieving revision 1.19 diff -u -u -r1.19 zend_language_scanner.l --- zend_language_scanner.l 2001/04/28 20:21:42 1.19 +++ zend_language_scanner.l 2001/05/02 21:22:38 @@ -603,6 +603,7 @@ ENCAPSED_TOKENS [\[\]{}$] ESCAPED_AND_WHITESPACE [\n\t\r #'.:;,()|^&+-/*=%!~<>?@]+ ANY_CHAR (.|[\n]) +NEWLINE ("\r"|"\n"|"\r\n") %option noyylineno %option noyywrap @@ -1122,7 +1123,7 @@ } -<INITIAL>"<?php_track_vars?>"("\n"|"\r\n")? { +<INITIAL>"<?php_track_vars?>"{NEWLINE}? { zend_error(E_WARNING, "<?php_track_vars?> is no longer supported - please use the track_vars INI directive instead"); HANDLE_NEWLINE(yytext[yyleng-1]); zendlval->value.str.val = (char *) estrndup(yytext, yyleng); @@ -1177,7 +1178,7 @@ yymore(); } -<ST_ONE_LINE_COMMENT>"\n"|"\r\n" { +<ST_ONE_LINE_COMMENT>{NEWLINE} { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; zendlval->type = IS_STRING; @@ -1220,7 +1221,7 @@ yymore(); } -<ST_IN_SCRIPTING>("?>"|"</script"{WHITESPACE}*">")("\n"|"\r\n")? { +<ST_IN_SCRIPTING>("?>"|"</script"{WHITESPACE}*">"){NEWLINE}? { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; zendlval->type = IS_STRING; @@ -1230,7 +1231,7 @@ } -<ST_IN_SCRIPTING>"%>"("\n"|"\r\n")? { +<ST_IN_SCRIPTING>"%>"{NEWLINE}? { if (CG(asp_tags)) { BEGIN(INITIAL); zendlval->value.str.len = yyleng; @@ -1373,7 +1374,7 @@ } -<ST_IN_SCRIPTING>"<<<"{TABS_AND_SPACES}{LABEL}("\r")?"\n" { +<ST_IN_SCRIPTING>"<<<"{TABS_AND_SPACES}{LABEL}{NEWLINE} { char *s; CG(zend_lineno)++; CG(heredoc_len) = yyleng-3-1-(yytext[yyleng-2]=='\r'?1:0); @@ -1400,7 +1401,7 @@ } -<ST_HEREDOC>^{LABEL}(";")?("\r")?"\n" { +<ST_HEREDOC>^{LABEL}(";")?{NEWLINE} { int label_len; unsigned char unput_semicolon;
-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]