diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2014-03-23 12:11:18 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2014-03-23 12:11:18 +0000 |
commit | 889e182fcac9bd2312f07782277ab1e832f9bb75 (patch) | |
tree | ef250a703f800ff0d1343e6e88415733a430a57b /mansearch.c | |
parent | ac1f227ddd1d860957c848f834ec0dfbe0dbbe83 (diff) | |
download | mandoc-889e182fcac9bd2312f07782277ab1e832f9bb75.tar.gz |
avoid repetitive code for asprintf error handling
Diffstat (limited to 'mansearch.c')
-rw-r--r-- | mansearch.c | 40 |
1 files changed, 11 insertions, 29 deletions
diff --git a/mansearch.c b/mansearch.c index 9caf434e..ff502daf 100644 --- a/mansearch.c +++ b/mansearch.c @@ -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; |