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 | 8d11857c729711d0d0db916365618d44d7821f7d (patch) | |
tree | 7a41736d4974bf56b45601509ffc087e45f687fa /mandoc.c | |
parent | 76d31716d5fcdccdd4aef3d90c7d6e014047d836 (diff) | |
download | mandoc-8d11857c729711d0d0db916365618d44d7821f7d.tar.gz |
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 'mandoc.c')
-rw-r--r-- | mandoc.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -199,7 +199,7 @@ mandoc_calloc(size_t num, size_t size) ptr = calloc(num, size); if (NULL == ptr) { perror(NULL); - exit(EXIT_FAILURE); + exit(MANDOCLEVEL_SYSERR); } return(ptr); @@ -214,7 +214,7 @@ mandoc_malloc(size_t size) ptr = malloc(size); if (NULL == ptr) { perror(NULL); - exit(EXIT_FAILURE); + exit(MANDOCLEVEL_SYSERR); } return(ptr); @@ -228,7 +228,7 @@ mandoc_realloc(void *ptr, size_t size) ptr = realloc(ptr, size); if (NULL == ptr) { perror(NULL); - exit(EXIT_FAILURE); + exit(MANDOCLEVEL_SYSERR); } return(ptr); @@ -243,7 +243,7 @@ mandoc_strdup(const char *ptr) p = strdup(ptr); if (NULL == p) { perror(NULL); - exit(EXIT_FAILURE); + exit(MANDOCLEVEL_SYSERR); } return(p); |