sas Thu Mar 8 11:29:33 2001 EDT
Modified files:
/php4/ext/ircg ircg_scanner.c ircg_scanner.re
Log:
Fix underline handling
Index: php4/ext/ircg/ircg_scanner.c
diff -u php4/ext/ircg/ircg_scanner.c:1.6 php4/ext/ircg/ircg_scanner.c:1.7
--- php4/ext/ircg/ircg_scanner.c:1.6 Thu Mar 8 10:59:46 2001
+++ php4/ext/ircg/ircg_scanner.c Thu Mar 8 11:29:33 2001
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.5 on Thu Mar 8 19:50:44 2001 */
+/* Generated by re2c 0.5 on Thu Mar 8 20:32:13 2001 */
#line 1 "/home/sas/src/php4/ext/ircg/ircg_scanner.re"
/*
+----------------------------------------------------------------------+
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: ircg_scanner.c,v 1.6 2001/03/08 18:59:46 sas Exp $ */
+/* $Id: ircg_scanner.c,v 1.7 2001/03/08 19:29:33 sas Exp $ */
#include <ext/standard/php_smart_str.h>
#include <stdio.h>
@@ -143,10 +143,10 @@
{
switch (ctx->underline_tag_open) {
case 0:
- if (!final) smart_str_appends(ctx->result, "<ul>");
+ if (!final) smart_str_appends(ctx->result, "<u>");
break;
case 1:
- smart_str_appends(ctx->result, "</ul>");
+ smart_str_appends(ctx->result, "</u>");
break;
}
@@ -189,7 +189,6 @@
end = msg + msg_len;
xp = msg;
-
while (1) {
start = YYCURSOR;
@@ -200,14 +199,14 @@
YYCTYPE yych;
unsigned int yyaccept;
static unsigned char yybm[] = {
- 0, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
+ 0, 64, 0, 0, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 64,
64, 64, 64, 64, 64, 64, 64, 0,
+ 64, 64, 64, 64, 64, 64, 0, 64,
+ 64, 64, 64, 64, 64, 64, 64, 0,
192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 64, 64, 64, 64, 64, 64,
+ 192, 192, 64, 64, 0, 64, 0, 64,
64, 192, 192, 192, 192, 192, 192, 192,
192, 192, 192, 192, 192, 192, 192, 192,
192, 192, 192, 192, 192, 192, 192, 192,
@@ -238,22 +237,31 @@
yy0:
if((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
yych = *YYCURSOR;
- if(yych <= '&'){
+ if(yych <= '.'){
if(yych <= '\003'){
- if(yych <= '\000') goto yy17;
+ if(yych <= '\000') goto yy19;
if(yych <= '\001') goto yy16;
if(yych <= '\002') goto yy12;
goto yy4;
} else {
- if(yych == '\025') goto yy14;
- if(yych <= '%') goto yy16;
- goto yy10;
+ if(yych <= '\037'){
+ if(yych <= '\036') goto yy16;
+ goto yy14;
+ } else {
+ if(yych == '&') goto yy10;
+ goto yy16;
+ }
}
} else {
if(yych <= '>'){
- if(yych == '<') goto yy6;
- if(yych <= '=') goto yy16;
- goto yy8;
+ if(yych <= ';'){
+ if(yych <= '/') goto yy17;
+ goto yy16;
+ } else {
+ if(yych <= '<') goto yy6;
+ if(yych <= '=') goto yy16;
+ goto yy8;
+ }
} else {
if(yych <= 'Z'){
if(yych <= '@') goto yy16;
@@ -264,70 +272,90 @@
}
}
yy2: yych = *++YYCURSOR;
- if(yybm[0+yych] & 128) goto yy21;
- if(yych == ':') goto yy23;
- goto yy20;
+ if(yybm[0+yych] & 128) goto yy23;
+ if(yych == ':') goto yy25;
+ goto yy22;
yy3:
-#line 215
+#line 214
{ passthru(STD_ARGS); continue; }
yy4: yych = *++YYCURSOR;
yy5:
-#line 209
+#line 208
{ mctx.fg_code = mctx.bg_code = -1; STATE = STATE_COLOR_FG; continue; }
yy6: yych = *++YYCURSOR;
yy7:
-#line 210
+#line 209
{ add_entity(STD_ARGS, "<"); continue; }
yy8: yych = *++YYCURSOR;
yy9:
-#line 211
+#line 210
{ add_entity(STD_ARGS, ">"); continue; }
yy10: yych = *++YYCURSOR;
yy11:
-#line 212
+#line 211
{ add_entity(STD_ARGS, "&"); continue; }
yy12: yych = *++YYCURSOR;
yy13:
-#line 213
+#line 212
{ handle_bold(STD_ARGS, 0); continue; }
yy14: yych = *++YYCURSOR;
yy15:
-#line 214
+#line 213
{ handle_underline(STD_ARGS, 0); continue; }
yy16: yych = *++YYCURSOR;
- goto yy20;
+ goto yy22;
yy17: yych = *++YYCURSOR;
yy18:
-#line 217
+#line 215
+ { passthru(STD_ARGS); continue; }
+yy19: yych = *++YYCURSOR;
+yy20:
+#line 216
{ goto stop; }
-yy19: ++YYCURSOR;
+yy21: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy20: if(yybm[0+yych] & 64) goto yy19;
+yy22: if(yybm[0+yych] & 64) goto yy21;
goto yy3;
-yy21: ++YYCURSOR;
+yy23: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy22: if(yybm[0+yych] & 128) goto yy21;
- if(yych <= '\000') goto yy3;
- if(yych <= '.') goto yy19;
- if(yych <= '/') goto yy3;
- if(yych >= ';') goto yy19;
-yy23: yyaccept = 0;
+yy24: if(yybm[0+yych] & 128) goto yy23;
+ if(yych <= '&'){
+ if(yych <= '\003'){
+ if(yych == '\001') goto yy21;
+ goto yy3;
+ } else {
+ if(yych == '\037') goto yy3;
+ if(yych <= '%') goto yy21;
+ goto yy3;
+ }
+ } else {
+ if(yych <= ';'){
+ if(yych <= '.') goto yy21;
+ if(yych <= '/') goto yy3;
+ if(yych >= ';') goto yy21;
+ } else {
+ if(yych == '=') goto yy21;
+ if(yych <= '>') goto yy3;
+ goto yy21;
+ }
+ }
+yy25: yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if(yych != '/') goto yy20;
-yy24: yych = *++YYCURSOR;
- if(yych == '/') goto yy26;
-yy25: YYCURSOR = YYMARKER;
+ if(yych != '/') goto yy22;
+yy26: yych = *++YYCURSOR;
+ if(yych == '/') goto yy28;
+yy27: YYCURSOR = YYMARKER;
switch(yyaccept){
case 0: goto yy3;
}
-yy26: yych = *++YYCURSOR;
-yy27:
-#line 208
+yy28: yych = *++YYCURSOR;
+yy29:
+#line 207
{ handle_scheme(STD_ARGS); STATE = STATE_URL; continue; }
}
-#line 218
+#line 217
break;
@@ -372,43 +400,43 @@
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
};
- goto yy28;
-yy29: ++YYCURSOR;
-yy28:
+ goto yy30;
+yy31: ++YYCURSOR;
+yy30:
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= '>'){
if(yych <= '"'){
- if(yych != '!') goto yy32;
+ if(yych != '!') goto yy34;
} else {
- if(yych == '<') goto yy32;
- if(yych >= '>') goto yy32;
+ if(yych == '<') goto yy34;
+ if(yych >= '>') goto yy34;
}
} else {
if(yych <= '`'){
- if(yych <= 'Z') goto yy30;
- if(yych != '_') goto yy32;
+ if(yych <= 'Z') goto yy32;
+ if(yych != '_') goto yy34;
} else {
- if(yych <= 'z') goto yy30;
- if(yych != '~') goto yy32;
+ if(yych <= 'z') goto yy32;
+ if(yych != '~') goto yy34;
}
}
-yy30: yych = *++YYCURSOR;
- goto yy35;
-yy31:
-#line 226
- { handle_url(STD_ARGS); STATE = STATE_PLAIN; continue; }
yy32: yych = *++YYCURSOR;
+ goto yy37;
yy33:
-#line 227
+#line 225
+ { handle_url(STD_ARGS); STATE = STATE_PLAIN; continue; }
+yy34: yych = *++YYCURSOR;
+yy35:
+#line 226
{ passthru(STD_ARGS); STATE = STATE_PLAIN; continue; }
-yy34: ++YYCURSOR;
+yy36: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy35: if(yybm[0+yych] & 128) goto yy34;
- goto yy31;
+yy37: if(yybm[0+yych] & 128) goto yy36;
+ goto yy33;
}
-#line 228
+#line 227
break;
@@ -418,27 +446,27 @@
{
YYCTYPE yych;
unsigned int yyaccept;
- goto yy36;
-yy37: ++YYCURSOR;
-yy36:
+ goto yy38;
+yy39: ++YYCURSOR;
+yy38:
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
- if(yych <= '/') goto yy40;
- if(yych >= ':') goto yy40;
-yy38: yych = *++YYCURSOR;
- if(yych <= '/') goto yy39;
- if(yych <= '9') goto yy42;
-yy39:
-#line 235
- { handle_color_digit(STD_ARGS, 0); STATE = STATE_COLOR_COMMA; continue; }
+ if(yych <= '/') goto yy42;
+ if(yych >= ':') goto yy42;
yy40: yych = *++YYCURSOR;
+ if(yych <= '/') goto yy41;
+ if(yych <= '9') goto yy44;
yy41:
-#line 236
- { finish_color_stuff(STD_ARGS); passthru(STD_ARGS); STATE = STATE_PLAIN;
continue; }
+#line 234
+ { handle_color_digit(STD_ARGS, 0); STATE = STATE_COLOR_COMMA; continue; }
yy42: yych = *++YYCURSOR;
- goto yy39;
+yy43:
+#line 235
+ { finish_color_stuff(STD_ARGS); passthru(STD_ARGS); STATE = STATE_PLAIN;
+continue; }
+yy44: yych = *++YYCURSOR;
+ goto yy41;
}
-#line 237
+#line 236
break;
@@ -448,22 +476,22 @@
{
YYCTYPE yych;
unsigned int yyaccept;
- goto yy43;
-yy44: ++YYCURSOR;
-yy43:
+ goto yy45;
+yy46: ++YYCURSOR;
+yy45:
if(YYLIMIT == YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if(yych != ',') goto yy47;
-yy45: yych = *++YYCURSOR;
-yy46:
-#line 244
- { STATE = STATE_COLOR_BG; continue; }
+ if(yych != ',') goto yy49;
yy47: yych = *++YYCURSOR;
yy48:
-#line 245
+#line 243
+ { STATE = STATE_COLOR_BG; continue; }
+yy49: yych = *++YYCURSOR;
+yy50:
+#line 244
{ YYCURSOR--; commit_color_stuff(STD_ARGS); STATE = STATE_PLAIN; continue; }
}
-#line 246
+#line 245
break;
@@ -473,27 +501,27 @@
{
YYCTYPE yych;
unsigned int yyaccept;
- goto yy49;
-yy50: ++YYCURSOR;
-yy49:
+ goto yy51;
+yy52: ++YYCURSOR;
+yy51:
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
- if(yych <= '/') goto yy53;
- if(yych >= ':') goto yy53;
-yy51: yych = *++YYCURSOR;
- if(yych <= '/') goto yy52;
- if(yych <= '9') goto yy55;
-yy52:
-#line 253
- { handle_color_digit(STD_ARGS, 1); commit_color_stuff(STD_ARGS); STATE =
STATE_PLAIN; continue; }
+ if(yych <= '/') goto yy55;
+ if(yych >= ':') goto yy55;
yy53: yych = *++YYCURSOR;
+ if(yych <= '/') goto yy54;
+ if(yych <= '9') goto yy57;
yy54:
-#line 254
- { commit_color_stuff(STD_ARGS); STATE = STATE_PLAIN; continue; }
+#line 252
+ { handle_color_digit(STD_ARGS, 1); commit_color_stuff(STD_ARGS); STATE =
+STATE_PLAIN; continue; }
yy55: yych = *++YYCURSOR;
- goto yy52;
+yy56:
+#line 253
+ { commit_color_stuff(STD_ARGS); STATE = STATE_PLAIN; continue; }
+yy57: yych = *++YYCURSOR;
+ goto yy54;
}
-#line 255
+#line 254
break;
}
Index: php4/ext/ircg/ircg_scanner.re
diff -u php4/ext/ircg/ircg_scanner.re:1.7 php4/ext/ircg/ircg_scanner.re:1.8
--- php4/ext/ircg/ircg_scanner.re:1.7 Thu Mar 8 10:43:52 2001
+++ php4/ext/ircg/ircg_scanner.re Thu Mar 8 11:29:33 2001
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: ircg_scanner.re,v 1.7 2001/03/08 18:43:52 sas Exp $ */
+/* $Id: ircg_scanner.re,v 1.8 2001/03/08 19:29:33 sas Exp $ */
#include <ext/standard/php_smart_str.h>
#include <stdio.h>
@@ -71,7 +71,7 @@
scheme = alpha alnum*;
coloresc = "";
bold = "";
-underline = "";
+underline = "\037";
*/
#define YYFILL(n) { }
@@ -151,10 +151,10 @@
{
switch (ctx->underline_tag_open) {
case 0:
- if (!final) smart_str_appends(ctx->result, "<ul>");
+ if (!final) smart_str_appends(ctx->result, "<u>");
break;
case 1:
- smart_str_appends(ctx->result, "</ul>");
+ smart_str_appends(ctx->result, "</u>");
break;
}
@@ -197,7 +197,6 @@
end = msg + msg_len;
xp = msg;
-
while (1) {
start = YYCURSOR;
@@ -212,7 +211,7 @@
"&" { add_entity(STD_ARGS, "&"); continue; }
bold { handle_bold(STD_ARGS, 0); continue; }
underline { handle_underline(STD_ARGS, 0); continue; }
- (anynoneof\([<>&])) (anynoneof\[/])* { passthru(STD_ARGS);
continue; }
+ (anynoneof\([<>&/]|underline))+ { passthru(STD_ARGS);
+continue; }
anynoneof { passthru(STD_ARGS); continue; }
eof { goto stop; }
*/
--
PHP CVS 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]