version 1.12, 2008/12/06 19:41:41 |
version 1.14, 2008/12/07 21:30:49 |
Line 55 static void html_free(void *); |
|
Line 55 static void html_free(void *); |
|
static ssize_t html_endtag(struct md_mbuf *, void *, |
static ssize_t html_endtag(struct md_mbuf *, void *, |
const struct md_args *, |
const struct md_args *, |
enum md_ns, int); |
enum md_ns, int); |
|
static ssize_t html_beginstring(struct md_mbuf *, |
|
const struct md_args *, |
|
const char *, size_t); |
|
static ssize_t html_beginhttp(struct md_mbuf *, |
|
const struct md_args *, |
|
const char *, size_t); |
|
static ssize_t html_endstring(struct md_mbuf *, |
|
const struct md_args *, |
|
const char *, size_t); |
|
static ssize_t html_endhttp(struct md_mbuf *, |
|
const struct md_args *, |
|
const char *, size_t); |
static ssize_t html_begintag(struct md_mbuf *, void *, |
static ssize_t html_begintag(struct md_mbuf *, void *, |
const struct md_args *, |
const struct md_args *, |
enum md_ns, int, |
enum md_ns, int, |
Line 122 html_It_headtagname(struct md_mbuf *mbuf, struct htmlq |
|
Line 134 html_It_headtagname(struct md_mbuf *mbuf, struct htmlq |
|
break; |
break; |
|
|
assert(n); |
assert(n); |
|
|
|
/* LINTED */ |
for (i = 0; ROFF_ARGMAX != n->argc[i] && |
for (i = 0; ROFF_ARGMAX != n->argc[i] && |
i < ROFF_MAXLINEARG; i++) { |
i < ROFF_MAXLINEARG; i++) { |
switch (n->argc[i]) { |
switch (n->argc[i]) { |
|
case (ROFF_Ohang): |
|
return(ml_nputs(mbuf, "div", 3, res)); |
|
|
case (ROFF_Tag): |
case (ROFF_Tag): |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case (ROFF_Column): |
case (ROFF_Column): |
Line 134 html_It_headtagname(struct md_mbuf *mbuf, struct htmlq |
|
Line 151 html_It_headtagname(struct md_mbuf *mbuf, struct htmlq |
|
} |
} |
} |
} |
|
|
assert(i != ROFF_MAXLINEARG); |
|
abort(); |
abort(); |
/* NOTREACHED */ |
/* NOTREACHED */ |
|
|
return(1); |
|
} |
} |
|
|
|
|
Line 155 html_It_bodytagname(struct md_mbuf *mbuf, struct htmlq |
|
Line 169 html_It_bodytagname(struct md_mbuf *mbuf, struct htmlq |
|
break; |
break; |
|
|
assert(n); |
assert(n); |
|
|
|
/* LINTED */ |
for (i = 0; ROFF_ARGMAX != n->argc[i] && |
for (i = 0; ROFF_ARGMAX != n->argc[i] && |
i < ROFF_MAXLINEARG; i++) { |
i < ROFF_MAXLINEARG; i++) { |
switch (n->argc[i]) { |
switch (n->argc[i]) { |
Line 249 html_It_blocktagname(struct md_mbuf *mbuf, struct html |
|
Line 265 html_It_blocktagname(struct md_mbuf *mbuf, struct html |
|
break; |
break; |
|
|
assert(n); |
assert(n); |
|
|
|
/* LINTED */ |
for (i = 0; ROFF_ARGMAX != n->argc[i] && |
for (i = 0; ROFF_ARGMAX != n->argc[i] && |
i < ROFF_MAXLINEARG; i++) { |
i < ROFF_MAXLINEARG; i++) { |
switch (n->argc[i]) { |
switch (n->argc[i]) { |
Line 549 html_inlinetagargs(struct md_mbuf *mbuf, |
|
Line 567 html_inlinetagargs(struct md_mbuf *mbuf, |
|
return(0); |
return(0); |
if ( ! ml_nputs(mbuf, "\"", 1, res)) |
if ( ! ml_nputs(mbuf, "\"", 1, res)) |
return(0); |
return(0); |
|
break; |
default: |
default: |
break; |
break; |
} |
} |
Line 605 html_begintag(struct md_mbuf *mbuf, void *data, |
|
Line 624 html_begintag(struct md_mbuf *mbuf, void *data, |
|
/* TODO: argv. */ |
/* TODO: argv. */ |
|
|
assert(argv); |
assert(argv); |
|
/* LINTED */ |
for (i = 0; ROFF_ARGMAX != argc[i] |
for (i = 0; ROFF_ARGMAX != argc[i] |
&& i < ROFF_MAXLINEARG; i++) |
&& i < ROFF_MAXLINEARG; i++) |
node->argc[i] = argc[i]; |
node->argc[i] = argc[i]; |
Line 721 html_free(void *p) |
|
Line 741 html_free(void *p) |
|
assert(p); |
assert(p); |
q = (struct htmlq *)p; |
q = (struct htmlq *)p; |
|
|
|
/* LINTED */ |
while ((n = q->last)) { |
while ((n = q->last)) { |
q->last = n->parent; |
q->last = n->parent; |
free(n); |
free(n); |
Line 730 html_free(void *p) |
|
Line 751 html_free(void *p) |
|
} |
} |
|
|
|
|
|
static ssize_t |
|
html_beginhttp(struct md_mbuf *mbuf, |
|
const struct md_args *args, |
|
const char *buf, size_t sz) |
|
{ |
|
size_t res; |
|
|
|
res = 0; |
|
|
|
if ( ! ml_puts(mbuf, "<a href=\"", &res)) |
|
return(-1); |
|
if (1 != ml_nputstring(mbuf, buf, sz, &res)) |
|
return(-1); |
|
if ( ! ml_puts(mbuf, "\">", &res)) |
|
return(-1); |
|
|
|
return((ssize_t)res); |
|
} |
|
|
|
|
|
static ssize_t |
|
html_endhttp(struct md_mbuf *mbuf, |
|
const struct md_args *args, |
|
const char *buf, size_t sz) |
|
{ |
|
size_t res; |
|
|
|
res = 0; |
|
|
|
if ( ! ml_puts(mbuf, "</a>", &res)) |
|
return(-1); |
|
|
|
return((ssize_t)res); |
|
} |
|
|
|
|
|
/* ARGSUSED */ |
|
static ssize_t |
|
html_beginstring(struct md_mbuf *mbuf, |
|
const struct md_args *args, |
|
const char *buf, size_t sz) |
|
{ |
|
|
|
if (0 == strncmp(buf, "http://", 7)) |
|
return(html_beginhttp(mbuf, args, buf, sz)); |
|
|
|
return(0); |
|
} |
|
|
|
|
|
/* ARGSUSED */ |
|
static ssize_t |
|
html_endstring(struct md_mbuf *mbuf, |
|
const struct md_args *args, |
|
const char *buf, size_t sz) |
|
{ |
|
|
|
if (0 == strncmp(buf, "http://", 7)) |
|
return(html_endhttp(mbuf, args, buf, sz)); |
|
|
|
return(0); |
|
} |
|
|
|
|
int |
int |
md_line_html(void *data, char *buf) |
md_line_html(void *data, char *buf) |
{ |
{ |
Line 758 md_init_html(const struct md_args *args, |
|
Line 843 md_init_html(const struct md_args *args, |
|
cbs.ml_endtag = html_endtag; |
cbs.ml_endtag = html_endtag; |
cbs.ml_begin = html_begin; |
cbs.ml_begin = html_begin; |
cbs.ml_end = html_end; |
cbs.ml_end = html_end; |
|
cbs.ml_beginstring = html_beginstring; |
|
cbs.ml_endstring = html_endstring; |
|
|
return(mlg_alloc(args, rbuf, mbuf, &cbs)); |
return(mlg_alloc(args, rbuf, mbuf, &cbs)); |
} |
} |
|
|