diff options
author | Peter Jones <pjones@redhat.com> | 2006-07-18 02:18:11 +0000 |
---|---|---|
committer | Peter Jones <pjones@redhat.com> | 2006-07-18 02:18:11 +0000 |
commit | 9ba0ffafac530c5c74aabac04e8a53a35265d304 (patch) | |
tree | af00f88ab5e0abce428f7ef38830b201499fc8b6 | |
parent | 9f26a0966b93fc374caed6c5c99ecbac7341c2c2 (diff) | |
download | anaconda-9ba0ffafac530c5c74aabac04e8a53a35265d304.tar.gz anaconda-9ba0ffafac530c5c74aabac04e8a53a35265d304.tar.xz anaconda-9ba0ffafac530c5c74aabac04e8a53a35265d304.zip |
- make nashHotplugLogger use logMessageV()
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | loader2/loader.c | 30 | ||||
-rw-r--r-- | loader2/log.c | 27 | ||||
-rw-r--r-- | loader2/log.h | 3 |
4 files changed, 49 insertions, 19 deletions
@@ -1,5 +1,13 @@ 2006-07-17 Peter Jones <pjones@redhat.com> + * loader2/log.c: add logMessageV() + + * loader2/log.h: ditto + + * loader2/loader.c (nashHotplugLogger): make this use logMessageV + +2006-07-17 Peter Jones <pjones@redhat.com> + * dmraid.py: multipath functions analogous to those for dmraid. Also make DmDriveCache more generic. diff --git a/loader2/loader.c b/loader2/loader.c index 2ac757104..3978abc73 100644 --- a/loader2/loader.c +++ b/loader2/loader.c @@ -1230,19 +1230,29 @@ static int anaconda_trace_init(void) { int nashHotplugLogger(nashContext *nc, const nash_log_level level, const char *fmt, va_list ap) { - FILE *f = fopen("/tmp/hotplug.log", "a+"); - int ret; + int loglevel; va_list apc; + + switch (level) { + case NASH_DEBUG: + loglevel = DEBUGLVL; + break; + case NASH_WARNING: + loglevel = WARNING; + break; + case NASH_ERROR: + loglevel = ERROR; + break; + default: + case NASH_NOTICE: + loglevel = INFO; + break; + } - ret = fprintf(f ? f : stderr, "<%d> ", level); - va_copy(apc, ap); - if (ret > 0) - ret = vfprintf(f ? f : stderr, fmt, apc); + va_copy(ap, apc); + logMessageV(loglevel, fmt, apc); va_end(apc); - - if (f) - fclose(f); - return ret; + return 0; } int main(int argc, char ** argv) { diff --git a/loader2/log.c b/loader2/log.c index e93a87a78..9714da33f 100644 --- a/loader2/log.c +++ b/loader2/log.c @@ -61,34 +61,43 @@ static void printLogHeader(int level, FILE *outfile) { } } -void logMessage(int level, const char * s, ...) { - va_list args; +void logMessageV(int level, const char * s, va_list ap) { /* Only log to the screen things that are above the minimum level. */ if (tty_logfile && level >= minLevel) { - va_start(args, s); + va_list apc; + + va_copy(ap, apc); printLogHeader(level, tty_logfile); - vfprintf(tty_logfile, s, args); + vfprintf(tty_logfile, s, apc); fprintf(tty_logfile, "\n"); fflush(tty_logfile); - va_end(args); + va_end(apc); } /* But log everything to the file. */ if (file_logfile) { - va_start(args, s); + va_list apc; + + va_copy(ap, apc); printLogHeader(level, file_logfile); - vfprintf(file_logfile, s, args); + vfprintf(file_logfile, s, apc); fprintf(file_logfile, "\n"); fflush(file_logfile); - va_end(args); + va_end(apc); } +} + +void logMessage(int level, const char * s, ...) { + va_list args; - return; + va_start(args, s); + logMessageV(level, s, args); + va_end(args); } void openLog(int useLocal) { diff --git a/loader2/log.h b/loader2/log.h index 48e64c2f1..a3a366175 100644 --- a/loader2/log.h +++ b/loader2/log.h @@ -2,6 +2,7 @@ #define _LOG_H_ #include <stdio.h> +#include <stdarg.h> #define DEBUGLVL 10 #define INFO 20 @@ -9,6 +10,8 @@ #define ERROR 40 #define CRITICAL 50 +void logMessageV(int level, const char * s, va_list ap) + __attribute__ ((format (printf, 2, 0))); void logMessage(int level, const char * s, ...) __attribute__ ((format (printf, 2, 3))); void openLog(int useLocal); |