version 1.189, 2015/10/12 00:08:15 |
version 1.193, 2017/01/08 16:38:26 |
Line 130 static void print_attr(struct html *, const char *, c |
|
Line 130 static void print_attr(struct html *, const char *, c |
|
|
|
|
|
void * |
void * |
html_alloc(const struct mchars *mchars, const struct manoutput *outopts) |
html_alloc(const struct manoutput *outopts) |
{ |
{ |
struct html *h; |
struct html *h; |
|
|
h = mandoc_calloc(1, sizeof(struct html)); |
h = mandoc_calloc(1, sizeof(struct html)); |
|
|
h->tags.head = NULL; |
h->tags.head = NULL; |
h->symtab = mchars; |
|
|
|
h->style = outopts->style; |
h->style = outopts->style; |
h->base_man = outopts->man; |
h->base_man = outopts->man; |
h->base_includes = outopts->includes; |
h->base_includes = outopts->includes; |
Line 318 print_escape(char c) |
|
Line 316 print_escape(char c) |
|
printf("""); |
printf("""); |
break; |
break; |
case ASCII_NBRSP: |
case ASCII_NBRSP: |
putchar('-'); |
printf(" "); |
break; |
break; |
case ASCII_HYPH: |
case ASCII_HYPH: |
putchar('-'); |
putchar('-'); |
Line 398 print_encode(struct html *h, const char *p, int norecu |
|
Line 396 print_encode(struct html *h, const char *p, int norecu |
|
continue; |
continue; |
break; |
break; |
case ESCAPE_SPECIAL: |
case ESCAPE_SPECIAL: |
c = mchars_spec2cp(h->symtab, seq, len); |
c = mchars_spec2cp(seq, len); |
if (c <= 0) |
if (c <= 0) |
continue; |
continue; |
break; |
break; |
Line 664 buffmt_includes(struct html *h, const char *name) |
|
Line 662 buffmt_includes(struct html *h, const char *name) |
|
while (NULL != (p = strchr(pp, '%'))) { |
while (NULL != (p = strchr(pp, '%'))) { |
bufncat(h, pp, (size_t)(p - pp)); |
bufncat(h, pp, (size_t)(p - pp)); |
switch (*(p + 1)) { |
switch (*(p + 1)) { |
case'I': |
case 'I': |
bufcat(h, name); |
bufcat(h, name); |
break; |
break; |
default: |
default: |
|
|
bufcat_id(struct html *h, const char *src) |
bufcat_id(struct html *h, const char *src) |
{ |
{ |
|
|
/* Cf. <http://www.w3.org/TR/html4/types.html#h-6.2>. */ |
/* Cf. <http://www.w3.org/TR/html5/dom.html#the-id-attribute>. */ |
|
|
while ('\0' != *src) |
for (; '\0' != *src; src++) |
bufcat_fmt(h, "%.2x", *src++); |
bufncat(h, *src == ' ' ? "_" : src, 1); |
} |
} |