⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.93
Server IP:
65.108.141.171
Server:
Linux server.heloix.com 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
7.4.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
doc
/
re2c
/
examples
/
View File Name :
03_arbitrary_large_input.i.c
/* Generated by re2c */ #include <stdio.h> #include <string.h> #define YYMAXFILL 1 static const size_t SIZE = 16; struct input_t { char buf[SIZE + YYMAXFILL]; char *lim; char *cur; char *tok; bool eof; input_t() : buf() , lim(buf + SIZE) , cur(lim) , tok(lim) , eof(false) {} bool fill(size_t need) { if (eof) { return false; } const size_t free = tok - buf; if (free < need) { return false; } memmove(buf, tok, lim - tok); lim -= free; cur -= free; tok -= free; lim += fread(lim, 1, free, stdin); if (lim < buf + SIZE) { eof = true; memset(lim, 0, YYMAXFILL); lim += YYMAXFILL; } return true; } }; static bool lex(input_t & in, unsigned int &count) { for (count = 0;;) { in.tok = in.cur; { char yych; if (in.lim <= in.cur) if (!in.fill(1)) return false; yych = *in.cur; switch (yych) { case 0x00: goto yy2; case '\n': goto yy6; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy9; default: goto yy4; } yy2: ++in.cur; { return YYMAXFILL == in.lim - in.tok; } yy4: ++in.cur; { return false; } yy6: ++in.cur; if (in.lim <= in.cur) if (!in.fill(1)) return false; yych = *in.cur; switch (yych) { case '\n': goto yy6; default: goto yy8; } yy8: { continue; } yy9: ++in.cur; if (in.lim <= in.cur) if (!in.fill(1)) return false; yych = *in.cur; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy9; default: goto yy11; } yy11: { ++count; continue; } } } } int main() { input_t in; unsigned int count; if (lex(in, count)) { printf("glorious %u numbers!\n", count); } else { printf("error\n"); } return 0; }