diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2008-12-04 16:34:59 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2008-12-04 16:34:59 +0000 |
commit | fb40e7adf35e6b21b0e64e170b71e1a4d2cf5351 (patch) | |
tree | 709633693c524f8f2a224e8031814f910d646925 /roff.c | |
parent | 7ea64ffd96cef95695a6c74dbf90f76d73fa961d (diff) | |
download | mandoc-fb40e7adf35e6b21b0e64e170b71e1a4d2cf5351.tar.gz |
Character-set validation fixes.
Diffstat (limited to 'roff.c')
-rw-r--r-- | roff.c | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -971,12 +971,20 @@ roffdata(struct rofftree *tree, int space, char *buf) { int tok; + if (0 == *buf) + return(1); + if (-1 == (tok = rofftok_scan(buf))) { roff_err(tree, buf, "invalid character sequence"); return(0); - } else if (ROFFTok_MAX != tok) + } else if (ROFFTok_MAX != tok) { + if (ROFFTok_Null == tok) { /* FIXME */ + buf += 2; + return(roffdata(tree, space, buf)); + } return((*tree->cb.rofftoken) (tree->arg, space != 0, tok)); + } return((*tree->cb.roffdata)(tree->arg, space != 0, tree->cur, buf)); |