-/* $Id: mdoc_strings.c,v 1.7 2009/06/17 10:53:32 kristaps Exp $ */
+/* $Id: mdoc_strings.c,v 1.10 2009/08/20 13:32:09 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
#include <sys/types.h>
#include <assert.h>
-#include <ctype.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
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 },
{ "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 },
{ "AUTHORS", SEC_AUTHORS },
{ "CAVEATS", SEC_CAVEATS },
{ "BUGS", SEC_BUGS },
+ { "SECURITY CONSIDERATIONS", SEC_SECURITY }
};
#ifdef __linux__
#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)
{
}
+/* FIXME: move this into an editable .in file. */
size_t
mdoc_macro2len(int macro)
{
case(MDOC_Em):
return(10);
case(MDOC_Er):
- return(12);
+ return(17);
case(MDOC_Ev):
return(15);
case(MDOC_Fa):