aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/html.c
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2011-05-24 21:40:14 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2011-05-24 21:40:14 +0000
commit5f3d81eaf50a34f7f2e677d8c8d33c04efbadf19 (patch)
tree5ec699c09949236af8144cb99c7f0e287dc366ca /html.c
parentb93b7d11befe80f204689861fdaa729f36298ebb (diff)
downloadmandoc-5f3d81eaf50a34f7f2e677d8c8d33c04efbadf19.tar.gz
mandoc-5f3d81eaf50a34f7f2e677d8c8d33c04efbadf19.tar.zst
mandoc-5f3d81eaf50a34f7f2e677d8c8d33c04efbadf19.zip
Use the correct Unicode value for the zero-width space, which means that
spec2cp never needs to fall through to spec2str. Then clean out html.c of its unnecessary print_res() function.
Diffstat (limited to 'html.c')
-rw-r--r--html.c29
1 files changed, 6 insertions, 23 deletions
diff --git a/html.c b/html.c
index 9299c976..45471fe3 100644
--- a/html.c
+++ b/html.c
@@ -1,4 +1,4 @@
-/* $Id: html.c,v 1.146 2011/05/24 21:31:23 kristaps Exp $ */
+/* $Id: html.c,v 1.147 2011/05/24 21:40:14 kristaps Exp $ */
/*
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2011 Ingo Schwarze <schwarze@openbsd.org>
@@ -108,7 +108,6 @@ static const char *const roffscales[SCALE_MAX] = {
};
static void bufncat(struct html *, const char *, size_t);
-static void print_spec(struct html *, const char *, size_t);
static void print_ctag(struct html *, enum htmltag);
static int print_encode(struct html *, const char *, int);
static void print_metaf(struct html *, enum mandoc_esc);
@@ -218,26 +217,6 @@ print_gen_head(struct html *h)
}
static void
-print_spec(struct html *h, const char *p, size_t len)
-{
- int cp;
- const char *rhs;
- size_t sz;
-
- if ((cp = mchars_spec2cp(h->symtab, p, len)) > 0) {
- printf("&#%d;", cp);
- return;
- } else if (-1 == cp && 1 == len) {
- fwrite(p, 1, len, stdout);
- return;
- } else if (-1 == cp)
- return;
-
- if (NULL != (rhs = mchars_spec2str(h->symtab, p, len, &sz)))
- fwrite(rhs, 1, sz, stdout);
-}
-
-static void
print_metaf(struct html *h, enum mandoc_esc deco)
{
enum htmlfont font;
@@ -367,7 +346,11 @@ print_encode(struct html *h, const char *p, int norecurse)
putchar(c);
break;
case (ESCAPE_SPECIAL):
- print_spec(h, seq, len);
+ c = mchars_spec2cp(h->symtab, seq, len);
+ if (c > 0)
+ printf("&#%d;", c);
+ else if (-1 == c && 1 == len)
+ putchar((int)*seq);
break;
case (ESCAPE_FONT):
/* FALLTHROUGH */