diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-07-26 13:59:00 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-07-26 13:59:00 +0000 |
commit | fa0db51378801e484a880d49db185a8b85861474 (patch) | |
tree | 5c96e647578125ee653f305c1a5d3553f1e5cbcf /chars.c | |
parent | 84e7a1da762680fa2919e438e354384ab7e18fc4 (diff) | |
download | mandoc-fa0db51378801e484a880d49db185a8b85861474.tar.gz mandoc-fa0db51378801e484a880d49db185a8b85861474.tar.zst mandoc-fa0db51378801e484a880d49db185a8b85861474.zip |
Remove asciisz from chars.in. It frees up a nice chunk of memory and at
the overhead of running strlen() for ASCII strings (yes, I benchmarked
this running mandoc_char(7) as input again and again with
hundredth-second penalties... on my slow-ass alpha).
Diffstat (limited to 'chars.c')
-rw-r--r-- | chars.c | 19 |
1 files changed, 9 insertions, 10 deletions
@@ -1,4 +1,4 @@ -/* $Id: chars.c,v 1.23 2010/07/18 12:10:08 kristaps Exp $ */ +/* $Id: chars.c,v 1.24 2010/07/26 13:59:00 kristaps Exp $ */ /* * Copyright (c) 2009 Kristaps Dzonsons <kristaps@bsd.lv> * @@ -33,7 +33,6 @@ struct ln { struct ln *next; const char *code; const char *ascii; - size_t asciisz; int unicode; int type; #define CHARS_CHAR (1 << 0) @@ -43,12 +42,12 @@ struct ln { #define LINES_MAX 370 -#define CHAR(in, ch, chsz, code) \ - { NULL, (in), (ch), (chsz), (code), CHARS_CHAR }, -#define STRING(in, ch, chsz, code) \ - { NULL, (in), (ch), (chsz), (code), CHARS_STRING }, -#define BOTH(in, ch, chsz, code) \ - { NULL, (in), (ch), (chsz), (code), CHARS_BOTH }, +#define CHAR(in, ch, code) \ + { NULL, (in), (ch), (code), CHARS_CHAR }, +#define STRING(in, ch, code) \ + { NULL, (in), (ch), (code), CHARS_STRING }, +#define BOTH(in, ch, code) \ + { NULL, (in), (ch), (code), CHARS_BOTH }, #define CHAR_TBL_START static struct ln lines[LINES_MAX] = { #define CHAR_TBL_END }; @@ -165,7 +164,7 @@ chars_spec2str(void *arg, const char *p, size_t sz, size_t *rsz) if (NULL == ln) return(NULL); - *rsz = ln->asciisz; + *rsz = strlen(ln->ascii); return(ln->ascii); } @@ -182,7 +181,7 @@ chars_res2str(void *arg, const char *p, size_t sz, size_t *rsz) if (NULL == ln) return(NULL); - *rsz = ln->asciisz; + *rsz = strlen(ln->ascii); return(ln->ascii); } |