]> git.cameronkatri.com Git - mandoc.git/blobdiff - chars.c
Remove function calls to res() and so forth in term_word(). These were
[mandoc.git] / chars.c
diff --git a/chars.c b/chars.c
index 6d9cf9d36a7fce143062c47d98956418b2eaf7c5..06a2a923f691958889c9142fdfbea4028c03c735 100644 (file)
--- a/chars.c
+++ b/chars.c
@@ -1,4 +1,4 @@
-/*     $Id: chars.c,v 1.41 2011/05/14 17:54:42 kristaps Exp $ */
+/*     $Id: chars.c,v 1.43 2011/05/15 22:29:50 kristaps Exp $ */
 /*
  * Copyright (c) 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2011 Ingo Schwarze <schwarze@openbsd.org>
@@ -26,6 +26,7 @@
 #include <string.h>
 
 #include "mandoc.h"
+#include "libmandoc.h"
 
 #define        PRINT_HI         126
 #define        PRINT_LO         32
@@ -141,17 +142,16 @@ mchars_res2cp(struct mchars *arg, const char *p, size_t sz)
  * This can only be a printable character (i.e., alnum, punct, space) so
  * prevent the character from ruining our state (backspace, newline, and
  * so on).
+ * If the character is illegal, returns '\0'.
  */
 char
 mchars_num2char(const char *p, size_t sz)
 {
        int               i;
 
-       if (sz > 3)
+       if ((i = mandoc_strntou(p, sz, 10)) < 0)
                return('\0');
 
-       i = atoi(p);
-       /* LINTED */
        return(isprint(i) ? i : '\0');
 }