version 1.13, 2008/11/28 15:25:49 |
version 1.18, 2008/12/03 14:39:59 |
Line 85 static int md_buf_flush(struct md_mbuf *buf) |
|
Line 85 static int md_buf_flush(struct md_mbuf *buf) |
|
int |
int |
md_buf_putchar(struct md_mbuf *buf, char c) |
md_buf_putchar(struct md_mbuf *buf, char c) |
{ |
{ |
|
|
|
assert(buf); |
return(md_buf_puts(buf, &c, 1)); |
return(md_buf_puts(buf, &c, 1)); |
} |
} |
|
|
Line 92 md_buf_putchar(struct md_mbuf *buf, char c) |
|
Line 94 md_buf_putchar(struct md_mbuf *buf, char c) |
|
int |
int |
md_buf_putstring(struct md_mbuf *buf, const char *p) |
md_buf_putstring(struct md_mbuf *buf, const char *p) |
{ |
{ |
|
|
|
assert(buf); |
return(md_buf_puts(buf, p, strlen(p))); |
return(md_buf_puts(buf, p, strlen(p))); |
} |
} |
|
|
Line 135 md_run_leave(const struct md_args *args, struct md_mbu |
|
Line 139 md_run_leave(const struct md_args *args, struct md_mbu |
|
|
|
/* Run exiters. */ |
/* Run exiters. */ |
switch (args->type) { |
switch (args->type) { |
case (MD_HTML4_STRICT): |
case (MD_HTML): |
if ( ! md_exit_html4_strict(data, -1 == c ? 0 : 1)) |
if ( ! md_exit_html(data, -1 == c ? 0 : 1)) |
c = -1; |
c = -1; |
break; |
break; |
default: |
default: |
if ( ! md_exit_valid(data, -1 == c ? 0 : 1)) |
if ( ! md_exit_xml(data, -1 == c ? 0 : 1)) |
c = -1; |
c = -1; |
break; |
break; |
} |
} |
|
|
/* Make final flush of buffer. */ |
/* Make final flush of buffer. */ |
if ( ! md_buf_flush(mbuf)) |
if (-1 != c && ! md_buf_flush(mbuf)) |
return(-1); |
return(-1); |
|
|
return(c); |
return(c); |
Line 168 md_run_enter(const struct md_args *args, struct md_mbu |
|
Line 172 md_run_enter(const struct md_args *args, struct md_mbu |
|
|
|
/* Function ptrs to line-parsers. */ |
/* Function ptrs to line-parsers. */ |
switch (args->type) { |
switch (args->type) { |
case (MD_HTML4_STRICT): |
case (MD_HTML): |
fp = md_line_html4_strict; |
fp = md_line_html; |
break; |
break; |
default: |
default: |
fp = md_line_valid; |
fp = md_line_xml; |
break; |
break; |
} |
} |
|
|
|
|
return(md_run_leave(args, mbuf, rbuf, -1, p)); |
return(md_run_leave(args, mbuf, rbuf, -1, p)); |
} |
} |
|
|
line[pos] = 0; |
line[(int)pos] = 0; |
if ( ! (*fp)(p, line, pos)) |
if ( ! (*fp)(p, line)) |
return(md_run_leave(args, mbuf, rbuf, -1, p)); |
return(md_run_leave(args, mbuf, rbuf, -1, p)); |
rbuf->line++; |
rbuf->line++; |
pos = 0; |
pos = 0; |
Line 238 md_run(const struct md_args *args, |
|
Line 242 md_run(const struct md_args *args, |
|
|
|
/* Run initialisers. */ |
/* Run initialisers. */ |
switch (args->type) { |
switch (args->type) { |
case (MD_HTML4_STRICT): |
case (MD_HTML): |
data = md_init_html4_strict |
data = md_init_html(args, &mbuf, &rbuf); |
(args, &mbuf, &rbuf); |
|
break; |
break; |
default: |
default: |
data = md_init_valid |
data = md_init_xml(args, &mbuf, &rbuf); |
(args, &mbuf, &rbuf); |
|
break; |
break; |
} |
} |
|
|