summaryrefslogtreecommitdiffstatshomepage
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
commit67174f9ce5c119d2ab17f3be66110e3e1bd079c3 (patch)
treef7a2fe74959fae76ceea48a7e9ed6edf78d10ea9 /libmdoc.h
parent4c0fcbb426bb80949bb8c47cb0886b6be92022ed (diff)
downloadmandoc-67174f9ce5c119d2ab17f3be66110e3e1bd079c3.tar.gz
mandoc-67174f9ce5c119d2ab17f3be66110e3e1bd079c3.tar.zst
mandoc-67174f9ce5c119d2ab17f3be66110e3e1bd079c3.zip
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.h22
1 files changed, 13 insertions, 9 deletions
diff --git a/libmdoc.h b/libmdoc.h
index 98058a27..c14306c4 100644
--- a/libmdoc.h
+++ b/libmdoc.h
@@ -1,4 +1,4 @@
-/* $Id: libmdoc.h,v 1.34 2010/04/08 07:53:01 kristaps Exp $ */
+/* $Id: libmdoc.h,v 1.35 2010/05/07 05:34:56 kristaps Exp $ */
/*
* Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -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