diff -r 082bfaf38cf0 -r 43297144f196 common.c --- a/common.c Fri Jun 06 18:35:46 2008 +0300 +++ b/common.c Fri Jun 06 23:37:45 2008 +0300 @@ -7,75 +7,23 @@ #include "common.h" -void die (const char *msg) { - perror(msg); - exit(EXIT_FAILURE); -} - -void error (const char *fmt, ...) { +void _generic_err (const char *func, int perr, int do_exit, const char *fmt, ...) { va_list va; - - va_start(va, fmt); - vfprintf(stderr, fmt, va); - va_end(va); - - fprintf(stderr, "\n"); -} - -void perr (const char *fmt, ...) { - va_list va; - - va_start(va, fmt); - vfprintf(stderr, fmt, va); - va_end(va); - - fprintf(stderr, ": %s\n", strerror(errno)); -} - -void perr_exit (const char *fmt, ...) { - va_list va; - + + if (func) + fprintf(stderr, "%s: ", func); + va_start(va, fmt); vfprintf(stderr, fmt, va); va_end(va); - - fprintf(stderr, ": %s\n", strerror(errno)); - exit(EXIT_FAILURE); -} - -void err_exit (const char *fmt, ...) { - va_list va; - - va_start(va, fmt); - vfprintf(stderr, fmt, va); - va_end(va); + + if (perr) + fprintf(stderr, ": %s\n", strerror(errno)); fprintf(stderr, "\n"); - exit(EXIT_FAILURE); -} - -void err_func (const char *func, const char *fmt, ...) { - va_list va; - fprintf(stderr, "%s: ", func); - - va_start(va, fmt); - vfprintf(stderr, fmt, va); - va_end(va); - - fprintf(stderr, "\n"); -} - -void perr_func (const char *func, const char *fmt, ...) { - va_list va; - - fprintf(stderr, "%s: ", func); - - va_start(va, fmt); - vfprintf(stderr, fmt, va); - va_end(va); - - fprintf(stderr, ": %s\n", strerror(errno)); + if (do_exit) + exit(EXIT_FAILURE); } int parse_hostport (char *hostport, char **host, char **port) {