diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-05-07 05:34:56 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-05-07 05:34:56 +0000 |
commit | c78f5a1f78e5222eed678f27a57137e97b3554ec (patch) | |
tree | a4cbed397173131d985dd9266e1529c37da68c71 /libmdoc.h | |
parent | ee1efc7ed8c876d4caa29dff7e31b99d3b1773f9 (diff) | |
download | mandoc-c78f5a1f78e5222eed678f27a57137e97b3554ec.tar.gz |
Wrangle mdoc_args() and mdoc_zargs() to use enum return type.
Fixed lookup() and lookup_raw() to correctly use enum type.
Quashed in_line_argn() bug (not reported, but there) where mixing return values.
Diffstat (limited to 'libmdoc.h')
-rw-r--r-- | libmdoc.h | 20 |
1 files changed, 12 insertions, 8 deletions
@@ -111,6 +111,15 @@ struct mdoc_macro { /* Reserved words in arguments treated as text. */ }; +enum margerr { + ARGS_ERROR, + ARGS_EOLN, + ARGS_WORD, + ARGS_PUNCT, + ARGS_QWORD, + ARGS_PHRASE +}; + extern const struct mdoc_macro *const mdoc_macros; __BEGIN_DECLS @@ -168,19 +177,14 @@ int mdoc_argv(struct mdoc *, int, enum mdoct, #define ARGV_WORD (2) void mdoc_argv_free(struct mdoc_arg *); void mdoc_argn_free(struct mdoc_arg *, int); -int mdoc_args(struct mdoc *, int, +enum margerr mdoc_args(struct mdoc *, int, int *, char *, enum mdoct, char **); -int mdoc_zargs(struct mdoc *, int, +enum margerr mdoc_zargs(struct mdoc *, int, int *, char *, int, char **); #define ARGS_DELIM (1 << 1) /* See args(). */ #define ARGS_TABSEP (1 << 2) /* See args(). */ #define ARGS_NOWARN (1 << 3) /* See args(). */ -#define ARGS_ERROR (-1) -#define ARGS_EOLN (0) -#define ARGS_WORD (1) -#define ARGS_PUNCT (2) -#define ARGS_QWORD (3) -#define ARGS_PHRASE (4) + int mdoc_macroend(struct mdoc *); __END_DECLS |