aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/mandoc.h
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2018-12-14 01:18:25 +0000
committerIngo Schwarze <schwarze@openbsd.org>2018-12-14 01:18:25 +0000
commit437eb74af037fff6e93890f2a4f81426d7142fab (patch)
tree9259f758a86bc2b941f66a06231c4ee965bd23c0 /mandoc.h
parent92f8786f6ad5b622da1afc6b267a40001731571b (diff)
downloadmandoc-437eb74af037fff6e93890f2a4f81426d7142fab.tar.gz
mandoc-437eb74af037fff6e93890f2a4f81426d7142fab.tar.zst
mandoc-437eb74af037fff6e93890f2a4f81426d7142fab.zip
Major cleanup; may imply minor changes in edge cases of error reporting.
Finally, drop support for the run-time configurable mandocmsg() callback. It was over-engineered from the start, never used for anything in a decade, and repeatedly caused maintenance headaches. Consolidate reporting infrastructure into two files, mandoc.h and mandoc_msg.c, mopping up the bits and pieces that were scattered around main.c, read.c, mandoc_parse.h, libmandoc.h, the prototypes of four parsing-related functions, and both parser structs.
Diffstat (limited to 'mandoc.h')
-rw-r--r--mandoc.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/mandoc.h b/mandoc.h
index f1ab489e..03a04f51 100644
--- a/mandoc.h
+++ b/mandoc.h
@@ -1,4 +1,4 @@
-/* $Id: mandoc.h,v 1.258 2018/12/13 11:55:46 schwarze Exp $ */
+/* $Id: mandoc.h,v 1.259 2018/12/14 01:18:25 schwarze Exp $ */
/*
* Copyright (c) 2010, 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2012-2018 Ingo Schwarze <schwarze@openbsd.org>
@@ -265,11 +265,19 @@ enum mandoc_esc {
ESCAPE_OVERSTRIKE /* overstrike all chars in the argument */
};
-typedef void (*mandocmsg)(enum mandocerr, enum mandoclevel,
- const char *, int, int, const char *);
-
enum mandoc_esc mandoc_escape(const char **, const char **, int *);
+void mandoc_msg_setoutfile(FILE *);
+const char *mandoc_msg_getinfilename(void);
+void mandoc_msg_setinfilename(const char *);
+enum mandocerr mandoc_msg_getmin(void);
+void mandoc_msg_setmin(enum mandocerr);
+enum mandoclevel mandoc_msg_getrc(void);
+void mandoc_msg_setrc(enum mandoclevel);
+void mandoc_msg(enum mandocerr, void *, int, int, const char *);
+void mandoc_vmsg(enum mandocerr, void *, int, int,
+ const char *, ...)
+ __attribute__((__format__ (__printf__, 5, 6)));
void mchars_alloc(void);
void mchars_free(void);
int mchars_num2char(const char *, size_t);