version 1.183, 2014/12/02 10:08:06 |
version 1.184, 2014/12/20 00:20:11 |
Line 121 static const char *const roffscales[SCALE_MAX] = { |
|
Line 121 static const char *const roffscales[SCALE_MAX] = { |
|
}; |
}; |
|
|
static void bufncat(struct html *, const char *, size_t); |
static void bufncat(struct html *, const char *, size_t); |
static void print_ctag(struct html *, enum htmltag); |
static void print_ctag(struct html *, struct tag *); |
static int print_escape(char); |
static int print_escape(char); |
static int print_encode(struct html *, const char *, int); |
static int print_encode(struct html *, const char *, int); |
static void print_metaf(struct html *, enum mandoc_esc); |
static void print_metaf(struct html *, enum mandoc_esc); |
Line 511 print_otag(struct html *h, enum htmltag tag, |
|
Line 511 print_otag(struct html *h, enum htmltag tag, |
|
} |
} |
|
|
static void |
static void |
print_ctag(struct html *h, enum htmltag tag) |
print_ctag(struct html *h, struct tag *tag) |
{ |
{ |
|
|
printf("</%s>", htmltags[tag].name); |
/* |
if (HTML_CLRLINE & htmltags[tag].flags) { |
* Remember to close out and nullify the current |
|
* meta-font and table, if applicable. |
|
*/ |
|
if (tag == h->metaf) |
|
h->metaf = NULL; |
|
if (tag == h->tblt) |
|
h->tblt = NULL; |
|
|
|
printf("</%s>", htmltags[tag->tag].name); |
|
if (HTML_CLRLINE & htmltags[tag->tag].flags) { |
h->flags |= HTML_NOSPACE; |
h->flags |= HTML_NOSPACE; |
putchar('\n'); |
putchar('\n'); |
} |
} |
|
|
|
h->tags.head = tag->next; |
|
free(tag); |
} |
} |
|
|
void |
void |
Line 580 print_tagq(struct html *h, const struct tag *until) |
|
Line 592 print_tagq(struct html *h, const struct tag *until) |
|
struct tag *tag; |
struct tag *tag; |
|
|
while ((tag = h->tags.head) != NULL) { |
while ((tag = h->tags.head) != NULL) { |
/* |
print_ctag(h, tag); |
* Remember to close out and nullify the current |
|
* meta-font and table, if applicable. |
|
*/ |
|
if (tag == h->metaf) |
|
h->metaf = NULL; |
|
if (tag == h->tblt) |
|
h->tblt = NULL; |
|
print_ctag(h, tag->tag); |
|
h->tags.head = tag->next; |
|
free(tag); |
|
if (until && tag == until) |
if (until && tag == until) |
return; |
return; |
} |
} |
Line 604 print_stagq(struct html *h, const struct tag *suntil) |
|
Line 606 print_stagq(struct html *h, const struct tag *suntil) |
|
while ((tag = h->tags.head) != NULL) { |
while ((tag = h->tags.head) != NULL) { |
if (suntil && tag == suntil) |
if (suntil && tag == suntil) |
return; |
return; |
/* |
print_ctag(h, tag); |
* Remember to close out and nullify the current |
|
* meta-font and table, if applicable. |
|
*/ |
|
if (tag == h->metaf) |
|
h->metaf = NULL; |
|
if (tag == h->tblt) |
|
h->tblt = NULL; |
|
print_ctag(h, tag->tag); |
|
h->tags.head = tag->next; |
|
free(tag); |
|
} |
} |
} |
} |
|
|