diff options
Diffstat (limited to 'src/verbose.c')
-rw-r--r-- | src/verbose.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/verbose.c b/src/verbose.c index 2045bde..6d0db01 100644 --- a/src/verbose.c +++ b/src/verbose.c @@ -43,14 +43,17 @@ void vverbose(int level, const char *file, int line, const char *fmt, va_list ar void verbose_set_name(const char *name, int authority) { + closelog(); openlog(name, LOG_PERROR, authority ? LOG_AUTH : LOG_USER); } #else +#include <stdlib.h> +#include <string.h> #include <unistd.h> -static const char *appname; +static char *appname; static int appauthority; @@ -79,7 +82,8 @@ void vverbose(int level, const char *file, int line, const char *fmt, va_list ar void verbose_set_name(const char *name, int authority) { - appname = name; + free(appname); + appname = name ? strdup(name) : NULL; appauthority = authority; } |