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, "&lt;"); continue; }
 yy8:   yych = *++YYCURSOR;
 yy9:
-#line 211
+#line 210
        { add_entity(STD_ARGS, "&gt;"); continue; }
 yy10:  yych = *++YYCURSOR;
 yy11:
-#line 212
+#line 211
        { add_entity(STD_ARGS, "&amp;"); 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, "&amp;"); 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]

Reply via email to