diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2010-08-20 01:02:07 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2010-08-20 01:02:07 +0000 |
commit | a1567e8417f169edf6c71532dc11bfa763ac444b (patch) | |
tree | 9acbfb9862a556c0d41f4af58c78fafc856128c1 /term_ps.c | |
parent | 6f04dff21d0fded19bbcaefed07c6e35138b590f (diff) | |
download | mandoc-a1567e8417f169edf6c71532dc11bfa763ac444b.tar.gz mandoc-a1567e8417f169edf6c71532dc11bfa763ac444b.tar.zst mandoc-a1567e8417f169edf6c71532dc11bfa763ac444b.zip |
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.
Diffstat (limited to 'term_ps.c')
-rw-r--r-- | term_ps.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -1,4 +1,4 @@ -/* $Id: term_ps.c,v 1.41 2010/08/06 16:07:35 kristaps Exp $ */ +/* $Id: term_ps.c,v 1.42 2010/08/20 01:02:07 schwarze Exp $ */ /* * Copyright (c) 2010 Kristaps Dzonsons <kristaps@bsd.lv> * @@ -29,6 +29,7 @@ #include <time.h> #include <unistd.h> +#include "mandoc.h" #include "out.h" #include "main.h" #include "term.h" @@ -371,7 +372,7 @@ ps_growbuf(struct termp *p, size_t sz) if (NULL == p->engine.ps.psmarg) { perror(NULL); - exit(EXIT_FAILURE); + exit(MANDOCLEVEL_SYSERR); } } @@ -608,7 +609,7 @@ pdf_obj(struct termp *p, size_t obj) p->engine.ps.pdfobjsz * sizeof(size_t)); if (NULL == p->engine.ps.pdfobjs) { perror(NULL); - exit(EXIT_FAILURE); + exit(MANDOCLEVEL_SYSERR); } } |