=================================================================== RCS file: /cvs/mandoc/mandoc.h,v retrieving revision 1.114 retrieving revision 1.118 diff -u -p -r1.114 -r1.118 --- mandoc/mandoc.h 2014/01/05 20:26:36 1.114 +++ mandoc/mandoc.h 2014/03/23 11:25:26 1.118 @@ -1,7 +1,7 @@ -/* $Id: mandoc.h,v 1.114 2014/01/05 20:26:36 schwarze Exp $ */ +/* $Id: mandoc.h,v 1.118 2014/03/23 11:25:26 schwarze Exp $ */ /* * Copyright (c) 2010, 2011 Kristaps Dzonsons - * Copyright (c) 2012, 2013, 2014 Ingo Schwarze + * Copyright (c) 2010-2014 Ingo Schwarze * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -20,6 +20,7 @@ #define ASCII_NBRSP 31 /* non-breaking space */ #define ASCII_HYPH 30 /* breakable hyphen */ +#define ASCII_BREAK 29 /* breakable zero-width space */ /* * Status level. This refers to both internal status (i.e., whilst @@ -371,15 +372,12 @@ struct eqn { }; /* - * The type of parse sequence. This value is usually passed via the - * mandoc(1) command line of -man and -mdoc. It's almost exclusively - * -mandoc but the others have been retained for compatibility. + * Parse options. */ -enum mparset { - MPARSE_AUTO, /* magically determine the document type */ - MPARSE_MDOC, /* assume -mdoc */ - MPARSE_MAN /* assume -man */ -}; +#define MPARSE_MDOC 1 /* assume -mdoc */ +#define MPARSE_MAN 2 /* assume -man */ +#define MPARSE_SO 4 /* honour .so requests */ +#define MPARSE_QUICK 8 /* abort the parse early */ enum mandoc_esc { ESCAPE_ERROR = 0, /* bail! unparsable escape */ @@ -407,12 +405,7 @@ struct man; __BEGIN_DECLS -void *mandoc_calloc(size_t, size_t); enum mandoc_esc mandoc_escape(const char **, const char **, int *); -void *mandoc_malloc(size_t); -void *mandoc_realloc(void *, size_t); -char *mandoc_strdup(const char *); -char *mandoc_strndup(const char *, size_t); struct mchars *mchars_alloc(void); void mchars_free(struct mchars *); char mchars_num2char(const char *, size_t); @@ -421,8 +414,7 @@ int mchars_spec2cp(const struct mchars *, const char *, size_t); const char *mchars_spec2str(const struct mchars *, const char *, size_t, size_t *); -struct mparse *mparse_alloc(enum mparset, enum mandoclevel, - mandocmsg, char *, int); +struct mparse *mparse_alloc(int, enum mandoclevel, mandocmsg, char *); void mparse_free(struct mparse *); void mparse_keep(struct mparse *); enum mandoclevel mparse_readfd(struct mparse *, int, const char *); @@ -430,7 +422,7 @@ enum mandoclevel mparse_readmem(struct mparse *, cons const char *); void mparse_reset(struct mparse *); void mparse_result(struct mparse *, - struct mdoc **, struct man **); + struct mdoc **, struct man **, char **); const char *mparse_getkeep(const struct mparse *); const char *mparse_strerror(enum mandocerr); const char *mparse_strlevel(enum mandoclevel);