parser.c File Reference
Go to the source code of this file.
|
Defines |
| #define | set_state(s) do { tmp = p->state; p->state = s; p->prev_state = tmp; } while(0) |
| #define | fetch_next_char() |
Enumerations |
| enum | {
S_START,
S_IN_DOUBLE_QUOTE,
S_IN_SINGLE_QUOTE,
S_HTML,
S_WAIT_PERC,
S_START_CODE,
S_CODE,
S_WAIT_GT,
S_EAT_NEWLINE
} |
| enum | { LF = 0xA,
CR = 0xD
} |
Functions |
| int | parser_run (parser_t *p) |
| void | parser_set_cb_code (parser_t *p, parser_cb_code_t cb) |
| void | parser_set_cb_html (parser_t *p, parser_cb_html_t cb) |
| void * | parser_get_cb_arg (parser_t *p) |
| void | parser_set_cb_arg (parser_t *p, void *opaque) |
| void | parser_set_io (parser_t *p, io_t *in, io_t *out) |
| int | parser_free (parser_t *t) |
| int | parser_reset (parser_t *p) |
| int | parser_create (parser_t **pt) |
Define Documentation
| #define fetch_next_char |
( |
|
) |
|
|
|
|
Value: do { prev = c; \
dbg_err_if((rc = io_getc(p->in, &c)) < 0); \
if(rc == 0) break; \
if( (c == CR || c == LF) && prev != (c == CR ? LF : CR)) \
p->line++; \
} while(0)
|
| #define set_state |
( |
s |
|
) |
do { tmp = p->state; p->state = s; p->prev_state = tmp; } while(0)
|
|
Enumeration Type Documentation
|
|
- Enumeration values:
-
| S_START |
|
| S_IN_DOUBLE_QUOTE |
|
| S_IN_SINGLE_QUOTE |
|
| S_HTML |
|
| S_WAIT_PERC |
|
| S_START_CODE |
|
| S_CODE |
|
| S_WAIT_GT |
|
| S_EAT_NEWLINE |
|
Definition at line 21 of file parser.c. |
|
|
- Enumeration values:
-
Definition at line 33 of file parser.c. |
Function Documentation
| void* parser_get_cb_arg |
( |
parser_t * |
p |
) |
|
|
| void parser_set_cb_arg |
( |
parser_t * |
p, |
|
|
void * |
opaque |
|
) |
|
|