summaryrefslogtreecommitdiffstats
path: root/mansearch.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2014-03-23 12:11:18 +0000
committerIngo Schwarze <schwarze@openbsd.org>2014-03-23 12:11:18 +0000
commit889e182fcac9bd2312f07782277ab1e832f9bb75 (patch)
treeef250a703f800ff0d1343e6e88415733a430a57b /mansearch.c
parentac1f227ddd1d860957c848f834ec0dfbe0dbbe83 (diff)
downloadmandoc-889e182fcac9bd2312f07782277ab1e832f9bb75.tar.gz
avoid repetitive code for asprintf error handling
Diffstat (limited to 'mansearch.c')
-rw-r--r--mansearch.c40
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;