diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2009-07-04 09:01:55 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2009-07-04 09:01:55 +0000 |
commit | 9e21548672490d99d4a59ab449c80b3721689818 (patch) | |
tree | 8680f364835e7cc1a867ed96dbd5a3eaf8669759 /mdoc_strings.c | |
parent | f2ddfbfe82c8d980d204eb501343ff94da2d568c (diff) | |
download | mandoc-9e21548672490d99d4a59ab449c80b3721689818.tar.gz mandoc-9e21548672490d99d4a59ab449c80b3721689818.tar.zst mandoc-9e21548672490d99d4a59ab449c80b3721689818.zip |
Moved escape validation into libmandoc.h/mandoc.c (common between libman/libmdoc1).
libman supports MAN_IGN_ESCAPE (like MDOC_IGN_ESCAPE).
All popular escapes now handled consistently.
Diffstat (limited to 'mdoc_strings.c')
-rw-r--r-- | mdoc_strings.c | 79 |
1 files changed, 1 insertions, 78 deletions
diff --git a/mdoc_strings.c b/mdoc_strings.c index 126a2439..c299ccfd 100644 --- a/mdoc_strings.c +++ b/mdoc_strings.c @@ -1,4 +1,4 @@ -/* $Id: mdoc_strings.c,v 1.8 2009/06/22 12:22:35 kristaps Exp $ */ +/* $Id: mdoc_strings.c,v 1.9 2009/07/04 09:01:55 kristaps Exp $ */ /* * Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se> * @@ -17,7 +17,6 @@ #include <sys/types.h> #include <assert.h> -#include <ctype.h> #include <stdlib.h> #include <stdio.h> #include <string.h> @@ -59,82 +58,6 @@ extern char *strptime(const char *, const char *, struct tm *); #endif -size_t -mdoc_isescape(const char *p) -{ - size_t c; - - if ('\\' != *p++) - return(0); - - switch (*p) { - case ('\\'): - /* FALLTHROUGH */ - case ('\''): - /* FALLTHROUGH */ - case ('`'): - /* FALLTHROUGH */ - case ('q'): - /* FALLTHROUGH */ - case ('-'): - /* FALLTHROUGH */ - case ('~'): - /* FALLTHROUGH */ - case ('^'): - /* FALLTHROUGH */ - case ('%'): - /* FALLTHROUGH */ - case ('0'): - /* FALLTHROUGH */ - case (' '): - /* FALLTHROUGH */ - case ('|'): - /* FALLTHROUGH */ - case ('&'): - /* FALLTHROUGH */ - case ('.'): - /* FALLTHROUGH */ - case (':'): - /* FALLTHROUGH */ - case ('e'): - return(2); - case ('*'): - if (0 == *++p || ! isgraph((u_char)*p)) - return(0); - switch (*p) { - case ('('): - if (0 == *++p || ! isgraph((u_char)*p)) - return(0); - return(4); - case ('['): - for (c = 3, p++; *p && ']' != *p; p++, c++) - if ( ! isgraph((u_char)*p)) - break; - return(*p == ']' ? c : 0); - default: - break; - } - return(3); - case ('('): - if (0 == *++p || ! isgraph((u_char)*p)) - return(0); - if (0 == *++p || ! isgraph((u_char)*p)) - return(0); - return(4); - case ('['): - break; - default: - return(0); - } - - for (c = 3, p++; *p && ']' != *p; p++, c++) - if ( ! isgraph((u_char)*p)) - break; - - return(*p == ']' ? c : 0); -} - - int mdoc_iscdelim(char p) { |