]> git.cameronkatri.com Git - mandoc.git/blobdiff - html.c
Implement the \N'number' (numbered character) roff escape sequence.
[mandoc.git] / html.c
diff --git a/html.c b/html.c
index b884dab103a22225c8e81adddfccb59a5385357d..7eba86dd2ce3c355f023c9c8992443d830ef1bd0 100644 (file)
--- a/html.c
+++ b/html.c
@@ -1,6 +1,7 @@
-/*     $Id: html.c,v 1.125 2011/01/13 14:30:13 kristaps Exp $ */
+/*     $Id: html.c,v 1.126 2011/01/30 16:05:37 schwarze Exp $ */
 /*
- * Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
+ * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
+ * Copyright (c) 2011 Ingo Schwarze <schwarze@openbsd.org>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -93,6 +94,7 @@ static        const char      *const htmlattrs[ATTR_MAX] = {
        "colspan", /* ATTR_COLSPAN */
 };
 
+static void              print_num(struct html *, const char *, size_t);
 static void              print_spec(struct html *, enum roffdeco,
                                const char *, size_t);
 static void              print_res(struct html *, const char *, size_t);
@@ -213,6 +215,17 @@ print_gen_head(struct html *h)
 }
 
 
+static void
+print_num(struct html *h, const char *p, size_t len)
+{
+       const char      *rhs;
+
+       rhs = chars_num2char(p, len);
+       if (rhs)
+               putchar((int)*rhs);
+}
+
+
 static void
 print_spec(struct html *h, enum roffdeco d, const char *p, size_t len)
 {
@@ -333,6 +346,9 @@ print_encode(struct html *h, const char *p, int norecurse)
                len = a2roffdeco(&deco, &seq, &sz);
 
                switch (deco) {
+               case (DECO_NUMBERED):
+                       print_num(h, seq, sz);
+                       break;
                case (DECO_RESERVED):
                        print_res(h, seq, sz);
                        break;