From a1567e8417f169edf6c71532dc11bfa763ac444b Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Fri, 20 Aug 2010 01:02:07 +0000 Subject: Implement a simple, consistent user interface for error handling. We now have sufficient practical experience to know what we want, so this is intended to be final: - provide -Wlevel (warning, error or fatal) to select what you care about - provide -Wstop to stop after parsing a file with warnings you care about - provide consistent exit status codes for those warnings you care about - fully document what warnings, errors and fatal errors mean - remove all other cruft from the user interface, less is more: - remove all -f knobs along with the whole -f option - remove the old -Werror because calling warnings "fatal" is silly - always finish parsing each file, unless fatal errors prevent that This commit also includes a couple of related simplifications behind the scenes regarding error handling. Feedback and OK kristaps@; Joerg Sonnenberger (NetBSD) and Sascha Wildner (DragonFly BSD) agree with the general direction. --- mandoc.h | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'mandoc.h') diff --git a/mandoc.h b/mandoc.h index 2fbc0d5b..b314d886 100644 --- a/mandoc.h +++ b/mandoc.h @@ -1,4 +1,4 @@ -/* $Id: mandoc.h,v 1.17 2010/07/20 14:56:42 kristaps Exp $ */ +/* $Id: mandoc.h,v 1.18 2010/08/20 01:02:07 schwarze Exp $ */ /* * Copyright (c) 2010 Kristaps Dzonsons * @@ -26,6 +26,17 @@ __BEGIN_DECLS +enum mandoclevel { + MANDOCLEVEL_OK = 0, + MANDOCLEVEL_RESERVED, + MANDOCLEVEL_WARNING, + MANDOCLEVEL_ERROR, + MANDOCLEVEL_FATAL, + MANDOCLEVEL_BADARG, + MANDOCLEVEL_SYSERR, + MANDOCLEVEL_MAX +}; + enum mandocerr { MANDOCERR_OK, @@ -105,7 +116,7 @@ enum mandocerr { MANDOCERR_NODOCBODY, /* no document body */ MANDOCERR_NODOCPROLOG, /* no document prologue */ MANDOCERR_UTSNAME, /* utsname system call failed */ - MANDOCERR_MEM, /* memory exhausted */ + MANDOCERR_MEM, /* static buffer exhausted */ MANDOCERR_MAX }; -- cgit v1.2.3-56-ge451