summaryrefslogtreecommitdiffstats
path: root/libmdoc.h
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2010-05-07 05:34:56 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2010-05-07 05:34:56 +0000
commitc78f5a1f78e5222eed678f27a57137e97b3554ec (patch)
treea4cbed397173131d985dd9266e1529c37da68c71 /libmdoc.h
parentee1efc7ed8c876d4caa29dff7e31b99d3b1773f9 (diff)
downloadmandoc-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.h20
1 files changed, 12 insertions, 8 deletions
diff --git a/libmdoc.h b/libmdoc.h
index d2908fef..72dc53b4 100644
--- a/libmdoc.h
+++ b/libmdoc.h
@@ -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