=================================================================== RCS file: /cvs/mandoc/Attic/mdoc_strings.c,v retrieving revision 1.7 retrieving revision 1.12 diff -u -p -r1.7 -r1.12 --- mandoc/Attic/mdoc_strings.c 2009/06/17 10:53:32 1.7 +++ mandoc/Attic/mdoc_strings.c 2009/10/27 08:26:12 1.12 @@ -1,4 +1,4 @@ -/* $Id: mdoc_strings.c,v 1.7 2009/06/17 10:53:32 kristaps Exp $ */ +/* $Id: mdoc_strings.c,v 1.12 2009/10/27 08:26:12 kristaps Exp $ */ /* * Copyright (c) 2008 Kristaps Dzonsons * @@ -17,10 +17,10 @@ #include #include -#include #include #include #include +#include #include "libmdoc.h" @@ -31,7 +31,7 @@ struct mdoc_secname { enum mdoc_sec sec; /* Corresponding section. */ }; -#define SECNAME_MAX (18) +#define SECNAME_MAX (20) static const struct mdoc_secname secnames[SECNAME_MAX] = { { "NAME", SEC_NAME }, @@ -39,6 +39,7 @@ static const struct mdoc_secname secnames[SECNAME_MAX] { "SYNOPSIS", SEC_SYNOPSIS }, { "DESCRIPTION", SEC_DESCRIPTION }, { "IMPLEMENTATION NOTES", SEC_IMPLEMENTATION }, + { "EXIT STATUS", SEC_EXIT_STATUS }, { "RETURN VALUES", SEC_RETURN_VALUES }, { "ENVIRONMENT", SEC_ENVIRONMENT }, { "FILES", SEC_FILES }, @@ -52,6 +53,7 @@ static const struct mdoc_secname secnames[SECNAME_MAX] { "AUTHORS", SEC_AUTHORS }, { "CAVEATS", SEC_CAVEATS }, { "BUGS", SEC_BUGS }, + { "SECURITY CONSIDERATIONS", SEC_SECURITY } }; #ifdef __linux__ @@ -59,82 +61,6 @@ extern char *strptime(const char *, const char *, str #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) { @@ -205,7 +131,7 @@ mdoc_atotime(const char *p) struct tm tm; char *pp; - bzero(&tm, sizeof(struct tm)); + memset(&tm, 0, sizeof(struct tm)); if (0 == strcmp(p, "$" "Mdocdate$")) return(time(NULL)); @@ -221,6 +147,7 @@ mdoc_atotime(const char *p) } +/* FIXME: move this into an editable .in file. */ size_t mdoc_macro2len(int macro) { @@ -255,7 +182,7 @@ mdoc_macro2len(int macro) case(MDOC_Em): return(10); case(MDOC_Er): - return(12); + return(17); case(MDOC_Ev): return(15); case(MDOC_Fa):