From e7bd52bb8b529ce7e10d5d912a85f84a34390698 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Sun, 23 Mar 2014 12:11:18 +0000 Subject: avoid repetitive code for asprintf error handling --- mandocdb.c | 7 ++----- mansearch.c | 42 ++++++++++++------------------------------ mdoc.c | 7 ++----- mdoc_validate.c | 10 ++++------ roff.c | 8 ++------ 5 files changed, 22 insertions(+), 52 deletions(-) diff --git a/mandocdb.c b/mandocdb.c index 70c66e40..50614d3d 100644 --- a/mandocdb.c +++ b/mandocdb.c @@ -1,4 +1,4 @@ -/* $Id: mandocdb.c,v 1.119 2014/03/23 11:25:26 schwarze Exp $ */ +/* $Id: mandocdb.c,v 1.120 2014/03/23 12:11:18 schwarze Exp $ */ /* * Copyright (c) 2011, 2012 Kristaps Dzonsons * Copyright (c) 2011, 2012, 2013, 2014 Ingo Schwarze @@ -1536,10 +1536,7 @@ parse_mdoc_Xr(struct mpage *mpage, const struct mdoc_node *n) return(0); } - if (-1 == asprintf(&cp, "%s(%s)", n->string, n->next->string)) { - perror(NULL); - exit((int)MANDOCLEVEL_SYSERR); - } + mandoc_asprintf(&cp, "%s(%s)", n->string, n->next->string); putkey(mpage, cp, TYPE_Xr); free(cp); return(0); diff --git a/mansearch.c b/mansearch.c index d53cc2a6..2fb196c9 100644 --- a/mansearch.c +++ b/mansearch.c @@ -1,4 +1,4 @@ -/* $Id: mansearch.c,v 1.23 2014/03/23 11:25:26 schwarze Exp $ */ +/* $Id: mansearch.c,v 1.24 2014/03/23 12:11:18 schwarze Exp $ */ /* * Copyright (c) 2012 Kristaps Dzonsons * Copyright (c) 2013, 2014 Ingo Schwarze @@ -338,11 +338,8 @@ buildnames(struct manpage *mpage, sqlite3 *db, sqlite3_stmt *s, (strcmp(sec, prevsec) || strcmp(arch, prevarch))) { sep2 = '\0' == *prevarch ? "" : "/"; - if (-1 == asprintf(&newnames, "%s(%s%s%s)", - oldnames, prevsec, sep2, prevarch)) { - perror(0); - exit((int)MANDOCLEVEL_SYSERR); - } + mandoc_asprintf(&newnames, "%s(%s%s%s)", + oldnames, prevsec, sep2, prevarch); free(mpage->names); oldnames = mpage->names = newnames; free(prevsec); @@ -359,11 +356,8 @@ buildnames(struct manpage *mpage, sqlite3 *db, sqlite3_stmt *s, /* Append the new name. */ - if (-1 == asprintf(&newnames, "%s%s%s", - oldnames, sep1, name)) { - perror(0); - exit((int)MANDOCLEVEL_SYSERR); - } + mandoc_asprintf(&newnames, "%s%s%s", + oldnames, sep1, name); free(mpage->names); mpage->names = newnames; @@ -380,11 +374,8 @@ buildnames(struct manpage *mpage, sqlite3 *db, sqlite3_stmt *s, fsec = "0"; } sep2 = '\0' == *arch ? "" : "/"; - if (-1 == asprintf(&mpage->file, "%s/%s%s%s%s/%s.%s", - path, sep1, sec, sep2, arch, name, fsec)) { - perror(0); - exit((int)MANDOCLEVEL_SYSERR); - } + mandoc_asprintf(&mpage->file, "%s/%s%s%s%s/%s.%s", + path, sep1, sec, sep2, arch, name, fsec); } if (SQLITE_DONE != c) fprintf(stderr, "%s\n", sqlite3_errmsg(db)); @@ -394,11 +385,8 @@ buildnames(struct manpage *mpage, sqlite3 *db, sqlite3_stmt *s, if (NULL != prevsec) { sep2 = '\0' == *prevarch ? "" : "/"; - if (-1 == asprintf(&newnames, "%s(%s%s%s)", - mpage->names, prevsec, sep2, prevarch)) { - perror(0); - exit((int)MANDOCLEVEL_SYSERR); - } + mandoc_asprintf(&newnames, "%s(%s%s%s)", + mpage->names, prevsec, sep2, prevarch); free(mpage->names); mpage->names = newnames; free(prevsec); @@ -427,11 +415,8 @@ buildoutput(sqlite3 *db, sqlite3_stmt *s, uint64_t id, uint64_t outbit) sep1 = " # "; } data = sqlite3_column_text(s, 1); - if (-1 == asprintf(&newoutput, "%s%s%s", - oldoutput, sep1, data)) { - perror(0); - exit((int)MANDOCLEVEL_SYSERR); - } + mandoc_asprintf(&newoutput, "%s%s%s", + oldoutput, sep1, data); free(output); output = newoutput; } @@ -603,10 +588,7 @@ exprspec(struct expr *cur, uint64_t key, const char *value, if (NULL == value) return(cur); - if (-1 == asprintf(&cp, format, value)) { - perror(0); - exit((int)MANDOCLEVEL_SYSERR); - } + mandoc_asprintf(&cp, format, value); cur->next = mandoc_calloc(1, sizeof(struct expr)); cur = cur->next; cur->and = 1; diff --git a/mdoc.c b/mdoc.c index 612f259a..1d00b03c 100644 --- a/mdoc.c +++ b/mdoc.c @@ -1,4 +1,4 @@ -/* $Id: mdoc.c,v 1.209 2014/03/23 11:25:26 schwarze Exp $ */ +/* $Id: mdoc.c,v 1.210 2014/03/23 12:11:18 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2010, 2012, 2013, 2014 Ingo Schwarze @@ -594,10 +594,7 @@ mdoc_word_append(struct mdoc *mdoc, const char *p) n = mdoc->last; addstr = roff_strdup(mdoc->roff, p); - if (-1 == asprintf(&newstr, "%s %s", n->string, addstr)) { - perror(NULL); - exit((int)MANDOCLEVEL_SYSERR); - } + mandoc_asprintf(&newstr, "%s %s", n->string, addstr); free(addstr); free(n->string); n->string = newstr; diff --git a/mdoc_validate.c b/mdoc_validate.c index 2e725d1c..18f51ca6 100644 --- a/mdoc_validate.c +++ b/mdoc_validate.c @@ -1,4 +1,4 @@ -/* $Id: mdoc_validate.c,v 1.203 2014/03/23 11:25:26 schwarze Exp $ */ +/* $Id: mdoc_validate.c,v 1.204 2014/03/23 12:11:18 schwarze Exp $ */ /* * Copyright (c) 2008-2012 Kristaps Dzonsons * Copyright (c) 2010-2014 Ingo Schwarze @@ -2395,11 +2395,9 @@ post_os(POST_ARGS) if (-1 == uname(&utsname)) { mdoc_nmsg(mdoc, n, MANDOCERR_UNAME); defbuf = mandoc_strdup("UNKNOWN"); - } else if (-1 == asprintf(&defbuf, "%s %s", - utsname.sysname, utsname.release)) { - perror(NULL); - exit((int)MANDOCLEVEL_SYSERR); - } + } else + mandoc_asprintf(&defbuf, "%s %s", + utsname.sysname, utsname.release); } mdoc->meta.os = mandoc_strdup(defbuf); #endif /*!OSNAME*/ diff --git a/roff.c b/roff.c index 64235529..25ce76e2 100644 --- a/roff.c +++ b/roff.c @@ -1,4 +1,4 @@ -/* $Id: roff.c,v 1.201 2014/03/23 11:25:26 schwarze Exp $ */ +/* $Id: roff.c,v 1.202 2014/03/23 12:11:18 schwarze Exp $ */ /* * Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons * Copyright (c) 2010-2014 Ingo Schwarze @@ -656,11 +656,7 @@ roff_parsetext(char **bufp, size_t *szp, int pos, int *offs) /* Spring the input line trap. */ if (1 == roffit_lines) { - isz = asprintf(&p, "%s\n.%s", *bufp, roffit_macro); - if (-1 == isz) { - perror(NULL); - exit((int)MANDOCLEVEL_SYSERR); - } + isz = mandoc_asprintf(&p, "%s\n.%s", *bufp, roffit_macro); free(*bufp); *bufp = p; *szp = isz + 1; -- cgit v1.2.3-56-ge451