-/* $Id: mdoc_strings.c,v 1.10 2009/08/20 13:32:09 kristaps Exp $ */
+/* $Id: mdoc_strings.c,v 1.17 2010/05/08 07:30:19 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include <sys/types.h>
#include <assert.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
+#include <time.h>
#include "libmdoc.h"
{ "SECURITY CONSIDERATIONS", SEC_SECURITY }
};
-#ifdef __linux__
-extern char *strptime(const char *, const char *, struct tm *);
-#endif
-
+/*
+ * FIXME: this is repeated in print_text() (html.c) and term_word()
+ * (term.c).
+ */
int
mdoc_iscdelim(char p)
{
switch (p) {
- case('|'):
+ case('|'): /* FIXME! */
+ /* FALLTHROUGH */
+ case('('):
/* FALLTHROUGH */
+ case('['):
+ return(1);
case('.'):
/* FALLTHROUGH */
case(','):
/* FALLTHROUGH */
case('!'):
/* FALLTHROUGH */
- case('('):
- /* FALLTHROUGH */
case(')'):
/* FALLTHROUGH */
- case('['):
- /* FALLTHROUGH */
case(']'):
- /* FALLTHROUGH */
- case('{'):
- /* FALLTHROUGH */
- case('}'):
- return(1);
+ return(2);
default:
break;
}
}
-time_t
-mdoc_atotime(const char *p)
-{
- struct tm tm;
- char *pp;
-
- bzero(&tm, sizeof(struct tm));
-
- if (0 == strcmp(p, "$" "Mdocdate$"))
- return(time(NULL));
- if ((pp = strptime(p, "$" "Mdocdate: %b %d %Y $", &tm)) && 0 == *pp)
- return(mktime(&tm));
- /* XXX - this matches "June 1999", which is wrong. */
- if ((pp = strptime(p, "%b %d %Y", &tm)) && 0 == *pp)
- return(mktime(&tm));
- if ((pp = strptime(p, "%b %d, %Y", &tm)) && 0 == *pp)
- return(mktime(&tm));
-
- return(0);
-}
-
-
/* FIXME: move this into an editable .in file. */
size_t
-mdoc_macro2len(int macro)
+mdoc_macro2len(enum mdoct macro)
{
switch (macro) {