123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399 |
- #line 1 "rfc1918_parser.rl"
- #include "rfc1918_parser.h"
- /** Ragel machine **/
- #line 21 "rfc1918_parser.rl"
- /** Data **/
- #line 15 "rfc1918_parser.c"
- static const int rfc1918_parser_start = 1;
- static const int rfc1918_parser_first_final = 28;
- static const int rfc1918_parser_error = 0;
- static const int rfc1918_parser_en_main = 1;
- #line 26 "rfc1918_parser.rl"
- /** exec **/
- unsigned int rfc1918_parser_execute(const char *str, size_t len)
- {
- int cs = 0;
- const char *p, *pe;
- unsigned int is_ip_rfc1918 = 0;
- p = str;
- pe = str+len;
-
- #line 37 "rfc1918_parser.c"
- {
- cs = rfc1918_parser_start;
- }
- #line 39 "rfc1918_parser.rl"
-
- #line 44 "rfc1918_parser.c"
- {
- if ( p == pe )
- goto _test_eof;
- switch ( cs )
- {
- case 1:
- if ( (*p) == 49 )
- goto st2;
- goto st0;
- st0:
- cs = 0;
- goto _out;
- st2:
- if ( ++p == pe )
- goto _test_eof2;
- case 2:
- switch( (*p) ) {
- case 48: goto st3;
- case 55: goto st17;
- case 57: goto st23;
- }
- goto st0;
- st3:
- if ( ++p == pe )
- goto _test_eof3;
- case 3:
- if ( (*p) == 46 )
- goto st4;
- goto st0;
- st4:
- if ( ++p == pe )
- goto _test_eof4;
- case 4:
- switch( (*p) ) {
- case 48: goto st5;
- case 49: goto st13;
- case 50: goto st15;
- }
- if ( 51 <= (*p) && (*p) <= 57 )
- goto st14;
- goto st0;
- st5:
- if ( ++p == pe )
- goto _test_eof5;
- case 5:
- if ( (*p) == 46 )
- goto st6;
- goto st0;
- st6:
- if ( ++p == pe )
- goto _test_eof6;
- case 6:
- switch( (*p) ) {
- case 48: goto st7;
- case 49: goto st9;
- case 50: goto st11;
- }
- if ( 51 <= (*p) && (*p) <= 57 )
- goto st10;
- goto st0;
- st7:
- if ( ++p == pe )
- goto _test_eof7;
- case 7:
- if ( (*p) == 46 )
- goto st8;
- goto st0;
- st8:
- if ( ++p == pe )
- goto _test_eof8;
- case 8:
- switch( (*p) ) {
- case 48: goto tr16;
- case 49: goto tr17;
- case 50: goto tr18;
- }
- if ( 51 <= (*p) && (*p) <= 57 )
- goto tr19;
- goto st0;
- tr16:
- #line 8 "rfc1918_parser.rl"
- {
- is_ip_rfc1918 = 1;
- }
- goto st28;
- st28:
- if ( ++p == pe )
- goto _test_eof28;
- case 28:
- #line 134 "rfc1918_parser.c"
- goto st0;
- tr17:
- #line 8 "rfc1918_parser.rl"
- {
- is_ip_rfc1918 = 1;
- }
- goto st29;
- st29:
- if ( ++p == pe )
- goto _test_eof29;
- case 29:
- #line 146 "rfc1918_parser.c"
- if ( 48 <= (*p) && (*p) <= 57 )
- goto tr19;
- goto st0;
- tr19:
- #line 8 "rfc1918_parser.rl"
- {
- is_ip_rfc1918 = 1;
- }
- goto st30;
- st30:
- if ( ++p == pe )
- goto _test_eof30;
- case 30:
- #line 160 "rfc1918_parser.c"
- if ( 48 <= (*p) && (*p) <= 57 )
- goto tr16;
- goto st0;
- tr18:
- #line 8 "rfc1918_parser.rl"
- {
- is_ip_rfc1918 = 1;
- }
- goto st31;
- st31:
- if ( ++p == pe )
- goto _test_eof31;
- case 31:
- #line 174 "rfc1918_parser.c"
- if ( (*p) == 53 )
- goto tr31;
- if ( (*p) > 52 ) {
- if ( 54 <= (*p) && (*p) <= 57 )
- goto tr16;
- } else if ( (*p) >= 48 )
- goto tr19;
- goto st0;
- tr31:
- #line 8 "rfc1918_parser.rl"
- {
- is_ip_rfc1918 = 1;
- }
- goto st32;
- st32:
- if ( ++p == pe )
- goto _test_eof32;
- case 32:
- #line 193 "rfc1918_parser.c"
- if ( 48 <= (*p) && (*p) <= 53 )
- goto tr16;
- goto st0;
- st9:
- if ( ++p == pe )
- goto _test_eof9;
- case 9:
- if ( (*p) == 46 )
- goto st8;
- if ( 48 <= (*p) && (*p) <= 57 )
- goto st10;
- goto st0;
- st10:
- if ( ++p == pe )
- goto _test_eof10;
- case 10:
- if ( (*p) == 46 )
- goto st8;
- if ( 48 <= (*p) && (*p) <= 57 )
- goto st7;
- goto st0;
- st11:
- if ( ++p == pe )
- goto _test_eof11;
- case 11:
- switch( (*p) ) {
- case 46: goto st8;
- case 53: goto st12;
- }
- if ( (*p) > 52 ) {
- if ( 54 <= (*p) && (*p) <= 57 )
- goto st7;
- } else if ( (*p) >= 48 )
- goto st10;
- goto st0;
- st12:
- if ( ++p == pe )
- goto _test_eof12;
- case 12:
- if ( (*p) == 46 )
- goto st8;
- if ( 48 <= (*p) && (*p) <= 53 )
- goto st7;
- goto st0;
- st13:
- if ( ++p == pe )
- goto _test_eof13;
- case 13:
- if ( (*p) == 46 )
- goto st6;
- if ( 48 <= (*p) && (*p) <= 57 )
- goto st14;
- goto st0;
- st14:
- if ( ++p == pe )
- goto _test_eof14;
- case 14:
- if ( (*p) == 46 )
- goto st6;
- if ( 48 <= (*p) && (*p) <= 57 )
- goto st5;
- goto st0;
- st15:
- if ( ++p == pe )
- goto _test_eof15;
- case 15:
- switch( (*p) ) {
- case 46: goto st6;
- case 53: goto st16;
- }
- if ( (*p) > 52 ) {
- if ( 54 <= (*p) && (*p) <= 57 )
- goto st5;
- } else if ( (*p) >= 48 )
- goto st14;
- goto st0;
- st16:
- if ( ++p == pe )
- goto _test_eof16;
- case 16:
- if ( (*p) == 46 )
- goto st6;
- if ( 48 <= (*p) && (*p) <= 53 )
- goto st5;
- goto st0;
- st17:
- if ( ++p == pe )
- goto _test_eof17;
- case 17:
- if ( (*p) == 50 )
- goto st18;
- goto st0;
- st18:
- if ( ++p == pe )
- goto _test_eof18;
- case 18:
- if ( (*p) == 46 )
- goto st19;
- goto st0;
- st19:
- if ( ++p == pe )
- goto _test_eof19;
- case 19:
- switch( (*p) ) {
- case 49: goto st20;
- case 50: goto st21;
- case 51: goto st22;
- }
- goto st0;
- st20:
- if ( ++p == pe )
- goto _test_eof20;
- case 20:
- if ( 54 <= (*p) && (*p) <= 57 )
- goto st5;
- goto st0;
- st21:
- if ( ++p == pe )
- goto _test_eof21;
- case 21:
- if ( 48 <= (*p) && (*p) <= 57 )
- goto st5;
- goto st0;
- st22:
- if ( ++p == pe )
- goto _test_eof22;
- case 22:
- if ( 48 <= (*p) && (*p) <= 49 )
- goto st5;
- goto st0;
- st23:
- if ( ++p == pe )
- goto _test_eof23;
- case 23:
- if ( (*p) == 50 )
- goto st24;
- goto st0;
- st24:
- if ( ++p == pe )
- goto _test_eof24;
- case 24:
- if ( (*p) == 46 )
- goto st25;
- goto st0;
- st25:
- if ( ++p == pe )
- goto _test_eof25;
- case 25:
- if ( (*p) == 49 )
- goto st26;
- goto st0;
- st26:
- if ( ++p == pe )
- goto _test_eof26;
- case 26:
- if ( (*p) == 54 )
- goto st27;
- goto st0;
- st27:
- if ( ++p == pe )
- goto _test_eof27;
- case 27:
- if ( (*p) == 56 )
- goto st5;
- goto st0;
- }
- _test_eof2: cs = 2; goto _test_eof;
- _test_eof3: cs = 3; goto _test_eof;
- _test_eof4: cs = 4; goto _test_eof;
- _test_eof5: cs = 5; goto _test_eof;
- _test_eof6: cs = 6; goto _test_eof;
- _test_eof7: cs = 7; goto _test_eof;
- _test_eof8: cs = 8; goto _test_eof;
- _test_eof28: cs = 28; goto _test_eof;
- _test_eof29: cs = 29; goto _test_eof;
- _test_eof30: cs = 30; goto _test_eof;
- _test_eof31: cs = 31; goto _test_eof;
- _test_eof32: cs = 32; goto _test_eof;
- _test_eof9: cs = 9; goto _test_eof;
- _test_eof10: cs = 10; goto _test_eof;
- _test_eof11: cs = 11; goto _test_eof;
- _test_eof12: cs = 12; goto _test_eof;
- _test_eof13: cs = 13; goto _test_eof;
- _test_eof14: cs = 14; goto _test_eof;
- _test_eof15: cs = 15; goto _test_eof;
- _test_eof16: cs = 16; goto _test_eof;
- _test_eof17: cs = 17; goto _test_eof;
- _test_eof18: cs = 18; goto _test_eof;
- _test_eof19: cs = 19; goto _test_eof;
- _test_eof20: cs = 20; goto _test_eof;
- _test_eof21: cs = 21; goto _test_eof;
- _test_eof22: cs = 22; goto _test_eof;
- _test_eof23: cs = 23; goto _test_eof;
- _test_eof24: cs = 24; goto _test_eof;
- _test_eof25: cs = 25; goto _test_eof;
- _test_eof26: cs = 26; goto _test_eof;
- _test_eof27: cs = 27; goto _test_eof;
- _test_eof: {}
- _out: {}
- }
- #line 40 "rfc1918_parser.rl"
- return is_ip_rfc1918;
- }
|