aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libmdoc.h
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2009-07-06 13:04:52 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2009-07-06 13:04:52 +0000
commit9b6f1a259c31e9ed62d48a3b4892b9130152e5f0 (patch)
treec0ee6cdc319cf7cfe4dbb74562635e4ee5147992 /libmdoc.h
parenta4fada2ad5dad24856cf50f20e406d70a3eb08b5 (diff)
downloadmandoc-9b6f1a259c31e9ed62d48a3b4892b9130152e5f0.tar.gz
mandoc-9b6f1a259c31e9ed62d48a3b4892b9130152e5f0.tar.zst
mandoc-9b6f1a259c31e9ed62d48a3b4892b9130152e5f0.zip
Consolidated all err/warnings into mdoc.c via libmdoc.h.
Diffstat (limited to 'libmdoc.h')
-rw-r--r--libmdoc.h83
1 files changed, 71 insertions, 12 deletions
diff --git a/libmdoc.h b/libmdoc.h
index a114a6b9..441e4071 100644
--- a/libmdoc.h
+++ b/libmdoc.h
@@ -1,4 +1,4 @@
-/* $Id: libmdoc.h,v 1.12 2009/07/06 09:21:24 kristaps Exp $ */
+/* $Id: libmdoc.h,v 1.13 2009/07/06 13:04:52 kristaps Exp $ */
/*
* Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -41,6 +41,64 @@ struct mdoc {
enum mdoc_sec lastsec;
};
+enum merr {
+ ETAILWS,
+ ECOLEMPTY,
+ EARGVPARM,
+ EQUOTPARM,
+ EQUOTTERM,
+ EMALLOC,
+ EARGVAL,
+ ENOCALL,
+ EBODYPROL,
+ EPROLBODY,
+ ESPACE,
+ ETEXTPROL,
+ ENOBLANK,
+ ETOOLONG,
+ EESCAPE,
+ EPRINT,
+ ENODAT,
+ ENOPROLOGUE,
+ ELINE,
+ EATT,
+ ENAME,
+ ELISTTYPE,
+ EDISPTYPE,
+ EMULTIDISP,
+ ESECNAME,
+ EMULTILIST,
+ EARGREP,
+ EBOOL,
+ ECOLMIS,
+ ENESTDISP,
+ EMISSWIDTH,
+ EWRONGMSEC,
+ ESECOOO,
+ ESECREP,
+ EBADSTAND,
+ ENAMESECINC,
+ ENOMULTILINE,
+ EMULTILINE,
+ ENOLINE,
+ EPROLOOO,
+ EPROLREP,
+ EBADMSEC,
+ EFONT,
+ EBADDATE,
+ ENOWIDTH,
+ EBADSEC,
+ EUTSNAME,
+ ENUMFMT,
+ EOBS,
+ EMACPARM,
+ EIMPBRK,
+ EIGNE,
+ EOPEN,
+ EQUOT,
+ ENOCTX,
+ ENOPARMS
+};
#define MACRO_PROT_ARGS struct mdoc *mdoc, int tok, int line, \
int ppos, int *pos, char *buf
@@ -60,18 +118,19 @@ extern const struct mdoc_macro *const mdoc_macros;
__BEGIN_DECLS
-/*
- * When GCC2 is deprecated, most of these can be reverted to #define
- * as mdoc_vXXX using __VA_ARGS__. Until then, use real functions.
- */
-int mdoc_vwarn(struct mdoc *, int, int, const char *, ...);
+#define mdoc_perr(m, l, p, t) \
+ mdoc_err((m), (l), (p), 1, (t))
+#define mdoc_pwarn(m, l, p, t) \
+ mdoc_err((m), (l), (p), 0, (t))
+#define mdoc_nerr(m, n, t) \
+ mdoc_err((m), (n)->line, (n)->pos, 0, (t))
+#define mdoc_nwarn(m, n, t) \
+ mdoc_err((m), (n)->line, (n)->pos, 1, (t))
+
+int mdoc_err(struct mdoc *, int, int, int, enum merr);
int mdoc_verr(struct mdoc *, int, int, const char *, ...);
-int mdoc_nerr(struct mdoc *, const struct mdoc_node *,
- const char *, ...);
-int mdoc_warn(struct mdoc *, const char *, ...);
-int mdoc_err(struct mdoc *, const char *, ...);
-int mdoc_pwarn(struct mdoc *, int, int, const char *, ...);
-int mdoc_perr(struct mdoc *, int, int, const char *, ...);
+int mdoc_vwarn(struct mdoc *, int, int, const char *, ...);
+
int mdoc_macro(MACRO_PROT_ARGS);
int mdoc_word_alloc(struct mdoc *,
int, int, const char *);