version 1.245, 2018/12/04 18:29:38 |
version 1.248, 2019/01/05 09:14:44 |
Line 117 static void print_ctag(struct html *, struct tag *); |
|
Line 117 static void print_ctag(struct html *, struct tag *); |
|
static int print_escape(struct html *, char); |
static int print_escape(struct html *, char); |
static int print_encode(struct html *, const char *, const char *, int); |
static int print_encode(struct html *, const char *, const char *, int); |
static void print_href(struct html *, const char *, const char *, int); |
static void print_href(struct html *, const char *, const char *, int); |
static void print_metaf(struct html *, enum mandoc_esc); |
|
|
|
|
|
void * |
void * |
Line 210 print_gen_head(struct html *h) |
|
Line 209 print_gen_head(struct html *h) |
|
print_tagq(h, t); |
print_tagq(h, t); |
} |
} |
|
|
static void |
void |
print_metaf(struct html *h, enum mandoc_esc deco) |
print_metaf(struct html *h, enum mandoc_esc deco) |
{ |
{ |
enum htmlfont font; |
enum htmlfont font; |
Line 236 print_metaf(struct html *h, enum mandoc_esc deco) |
|
Line 235 print_metaf(struct html *h, enum mandoc_esc deco) |
|
font = HTMLFONT_NONE; |
font = HTMLFONT_NONE; |
break; |
break; |
default: |
default: |
abort(); |
return; |
} |
} |
|
|
if (h->metaf) { |
if (h->metaf) { |
Line 266 print_metaf(struct html *h, enum mandoc_esc deco) |
|
Line 265 print_metaf(struct html *h, enum mandoc_esc deco) |
|
} |
} |
} |
} |
|
|
|
/* |
|
* ROFF_nf switches to no-fill mode, ROFF_fi to fill mode. |
|
* TOKEN_NONE does not switch. The old mode is returned. |
|
*/ |
|
enum roff_tok |
|
html_fillmode(struct html *h, enum roff_tok want) |
|
{ |
|
struct tag *t; |
|
enum roff_tok had; |
|
|
|
for (t = h->tag; t != NULL; t = t->next) |
|
if (t->tag == TAG_PRE) |
|
break; |
|
|
|
had = t == NULL ? ROFF_fi : ROFF_nf; |
|
|
|
if (want != had) { |
|
switch (want) { |
|
case ROFF_fi: |
|
print_tagq(h, t); |
|
break; |
|
case ROFF_nf: |
|
print_otag(h, TAG_PRE, ""); |
|
break; |
|
case TOKEN_NONE: |
|
break; |
|
default: |
|
abort(); |
|
} |
|
} |
|
return had; |
|
} |
|
|
char * |
char * |
html_make_id(const struct roff_node *n, int unique) |
html_make_id(const struct roff_node *n, int unique) |
{ |
{ |
Line 402 print_encode(struct html *h, const char *p, const char |
|
Line 434 print_encode(struct html *h, const char *p, const char |
|
continue; |
continue; |
|
|
esc = mandoc_escape(&p, &seq, &len); |
esc = mandoc_escape(&p, &seq, &len); |
if (ESCAPE_ERROR == esc) |
|
break; |
|
|
|
switch (esc) { |
switch (esc) { |
case ESCAPE_FONT: |
case ESCAPE_FONT: |
case ESCAPE_FONTPREV: |
case ESCAPE_FONTPREV: |
Line 422 print_encode(struct html *h, const char *p, const char |
|
Line 451 print_encode(struct html *h, const char *p, const char |
|
case ESCAPE_SKIPCHAR: |
case ESCAPE_SKIPCHAR: |
h->flags |= HTML_SKIPCHAR; |
h->flags |= HTML_SKIPCHAR; |
continue; |
continue; |
|
case ESCAPE_ERROR: |
|
continue; |
default: |
default: |
break; |
break; |
} |
} |
Line 445 print_encode(struct html *h, const char *p, const char |
|
Line 476 print_encode(struct html *h, const char *p, const char |
|
c = mchars_spec2cp(seq, len); |
c = mchars_spec2cp(seq, len); |
if (c <= 0) |
if (c <= 0) |
continue; |
continue; |
|
break; |
|
case ESCAPE_UNDEF: |
|
c = *seq; |
break; |
break; |
case ESCAPE_DEVICE: |
case ESCAPE_DEVICE: |
print_word(h, "html"); |
print_word(h, "html"); |