--- 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) {