introduce eprintf() to replace various error points - surf-adblock - Surf adblock web extension (HTM) git clone git://git.codemadness.org/surf-adblock (DIR) Log (DIR) Files (DIR) Refs (DIR) README (DIR) LICENSE --- (DIR) commit 94705d18c8191bd931b284dfc50c4c6f100ea65a (DIR) parent 943b025897dd39e4b64755e6bafa890d35ea8ae1 (HTM) Author: Quentin Rameau <quinq@fifth.space> Date: Sat, 16 Jul 2016 18:41:41 +0200 introduce eprintf() to replace various error points Diffstat: M surf-adblock.c | 54 ++++++++++++++++--------------- 1 file changed, 28 insertions(+), 26 deletions(-) --- (DIR) diff --git a/surf-adblock.c b/surf-adblock.c @@ -111,16 +111,28 @@ static String globalcss; static struct filterrule *rules; static void +eprintf(const char *fmt, ...) +{ + va_list ap; + + fprintf(stderr, "surf-adblock: "); + + va_start(ap, fmt); + vfprintf(stderr, fmt, ap); + va_end(ap); + + exit(1); +} + +static void string_buffer_realloc(String *s, size_t newlen) { size_t alloclen; for (alloclen = 64; alloclen <= newlen; alloclen *= 2) ; - if (!(s->data = realloc(s->data, alloclen))) { - fprintf(stderr, "realloc: %s\n", strerror(errno)); - exit(1); - } + if (!(s->data = realloc(s->data, alloclen))) + eprintf("realloc: %s\n", strerror(errno)); s->bufsiz = alloclen; } @@ -143,10 +155,8 @@ ecalloc(size_t nmemb, size_t size) { void *p; - if (!(p = calloc(nmemb, size))) { - fprintf(stderr, "calloc: %s\n", strerror(errno)); - exit(1); - } + if (!(p = calloc(nmemb, size))) + eprintf("calloc: %s\n", strerror(errno)); return p; } @@ -156,10 +166,8 @@ estrdup(const char *s) { char *p; - if (!(p = strdup(s))) { - fprintf(stderr, "strdup: %s\n", strerror(errno)); - exit(1); - } + if (!(p = strdup(s))) + eprintf("strdup: %s\n", strerror(errno)); return p; } @@ -798,21 +806,15 @@ webkit_web_extension_initialize(WebKitWebExtension *ext) n = snprintf(filepath, sizeof(filepath), "%s%s.surf/adblockrules", e, e[0] && e[strlen(e) - 1] != '/' ? "/" : ""); } - if (n < 0 || (size_t)n >= sizeof(filepath)) { - fprintf(stderr, "fatal: path too long, truncated\n"); - return; - } + if (n < 0 || (size_t)n >= sizeof(filepath)) + eprintf("fatal: rules file path too long"); - if (!(fp = fopen(filepath, "r"))) { - fprintf(stderr, "fatal: cannot read rules from file: %s: %s\n", - filepath, strerror(errno)); - return; - } - if (!(rules = loadrules(fp))) { - fprintf(stderr, "fatal: cannot read adblock rules from file: %s: %s\n", - filepath, strerror(errno)); - return; - } + if (!(fp = fopen(filepath, "r"))) + eprintf("fatal: cannot open rules file %s: %s\n", + filepath, strerror(errno)); + if (!(rules = loadrules(fp))) + eprintf("fatal: cannot read rules file %s: %s\n", + filepath, strerror(errno)); fclose(fp); /* general CSS rules: all sites */