From e110b1d34a7141a1fdfe4570418545c59945ce6d Mon Sep 17 00:00:00 2001 From: "R. Lindsay Todd" Date: Mon, 2 Jun 2003 15:37:48 +0000 Subject: [PATCH] logging-cleanup-20030602 FIXES 1493 logging function cleanup and protoizing --- src/util/afsutil.h | 4 ++- src/util/serverLog.c | 20 +++++++++----- src/vol/clone.c | 2 ++ src/vol/common.c | 30 +++++++++++++-------- src/vol/fssync.c | 2 ++ src/vol/namei_ops.c | 2 ++ src/vol/nuke.c | 2 ++ src/vol/partition.c | 2 ++ src/vol/vnode.c | 2 ++ src/vol/vol-salvage.c | 60 +++++++++++++++++++++++++----------------- src/vol/volume.c | 2 ++ src/vol/vutil.c | 2 ++ src/volser/common.c | 21 +++++++++------ src/volser/dumpstuff.c | 2 ++ src/volser/volmain.c | 4 ++- src/volser/volprocs.c | 2 ++ src/volser/voltrans.c | 2 ++ 17 files changed, 109 insertions(+), 52 deletions(-) diff --git a/src/util/afsutil.h b/src/util/afsutil.h index 2438ea672..6c3cdd784 100644 --- a/src/util/afsutil.h +++ b/src/util/afsutil.h @@ -30,8 +30,10 @@ extern int serverLogSyslog; extern int serverLogSyslogFacility; extern char *serverLogSyslogTag; #endif -extern void FSLog(const char *format, ...); +extern void vFSLog(const char *format, va_list args); +/*@printflike@*/ extern void FSLog(const char *format, ...); #define ViceLog(level, str) if ((level) <= LogLevel) (FSLog str) +#define vViceLog(level, str) if ((level) <= LogLevel) (vFSLog str) extern int OpenLog(const char *filename); extern int ReOpenLog(const char *fileName); diff --git a/src/util/serverLog.c b/src/util/serverLog.c index 5f9cc8ccb..3c895dc68 100644 --- a/src/util/serverLog.c +++ b/src/util/serverLog.c @@ -91,11 +91,8 @@ void WriteLogBuffer(char *buf, afs_uint32 len) UNLOCK_SERVERLOG(); } -/* VARARGS1 */ -void FSLog (const char *format, ...) +void vFSLog (const char *format, va_list args) { - va_list args; - time_t currenttime; char *timeStamp; char tbuffer[1024]; @@ -114,9 +111,7 @@ void FSLog (const char *format, ...) info += strlen(info); } - va_start(args, format); (void) vsprintf(info, format, args); - va_end(args); len = strlen(tbuffer); LOCK_SERVERLOG(); @@ -135,7 +130,18 @@ void FSLog (const char *format, ...) fflush(stderr); /* in case they're sharing the same FD */ } #endif -} +} /*vFSLog*/ + +/* VARARGS1 */ +/*@printflike@*/ +void FSLog(const char *format, ...) +{ + va_list args; + + va_start(args, format); + vFSLog(format, args); + va_end(args); +} /*FSLog*/ static int DebugOn(int loglevel) { diff --git a/src/vol/clone.c b/src/vol/clone.c index 6e9a38514..48a113108 100644 --- a/src/vol/clone.c +++ b/src/vol/clone.c @@ -59,6 +59,8 @@ RCSID("$Header$"); #include "partition.h" #include "viceinode.h" +/*@printfline@*/ extern void Log(const char *format, ...); + int (*vol_PollProc)() = 0; /* someone must init this */ #define ERROR_EXIT(code) {error = code; goto error_exit;} diff --git a/src/vol/common.c b/src/vol/common.c index ee5d09b1d..c377734c2 100644 --- a/src/vol/common.c +++ b/src/vol/common.c @@ -25,30 +25,38 @@ RCSID("$Header$"); int Statistics = 0; -/* VARARGS */ -Log (a,b,c,d,e,f,g,h,i,j,k) - char *a, *b, *c, *d, *e, *f, *g, *h, *i, *j, *k; +/*@printflike@*/ void Log(const char *format, ...) { - int level; + int level; + va_list args; if (Statistics) level = -1; else level = 0; - ViceLog(level,(a,b,c,d,e,f,g,h,i,j,k)); + + va_start(args, format); + vViceLog(level, (format, args)); + va_end(args); } -Abort(s,a,b,c,d,e,f,g,h,i,j) - char *s, *a, *b, *c, *d, *e, *f, *g, *h, *i, *j; +/*@printflike@*/ void Abort(const char *format, ...) { + va_list args; + ViceLog(0, ("Program aborted: ")); - ViceLog(0, (s,a,b,c,d,e,f,g,h,i,j)); + va_start(args, format); + vViceLog(0, (format, args)); + va_end(args); abort(); } -Quit(s,a,b,c,d,e,f,g,h,i,j) - char *s, *a, *b, *c, *d, *e, *f, *g, *h, *i, *j; +/*@printflike@*/ void Quit(const char *format, ...) { - ViceLog(0, (s,a,b,c,d,e,f,g,h,i,j)); + va_list args; + + va_start(args, format); + vViceLog(0, (format, args)); + va_end(args); exit(1); } diff --git a/src/vol/fssync.c b/src/vol/fssync.c index ef447c994..2720a857c 100644 --- a/src/vol/fssync.c +++ b/src/vol/fssync.c @@ -82,6 +82,8 @@ RCSID("$Header$"); #include "volume.h" #include "partition.h" +/*@printflike@*/ extern void Log(const char *format, ...); + #ifdef osi_Assert #undef osi_Assert #endif diff --git a/src/vol/namei_ops.c b/src/vol/namei_ops.c index f04c11d00..1e0d5135a 100644 --- a/src/vol/namei_ops.c +++ b/src/vol/namei_ops.c @@ -44,6 +44,8 @@ RCSID("$Header$"); #include "partition.h" #include +/*@printflike@*/ extern void Log(const char *format, ...); + extern char *volutil_PartitionName_r(int volid, char *buf, int buflen); int namei_iread(IHandle_t *h, int offset, char *buf, int size) diff --git a/src/vol/nuke.c b/src/vol/nuke.c index f672c0769..cf6fb876c 100644 --- a/src/vol/nuke.c +++ b/src/vol/nuke.c @@ -42,6 +42,8 @@ RCSID("$Header$"); #include "salvage.h" #include "fssync.h" +/*@printflike@*/ extern void Log(const char *format, ...); + struct Lock localLock; char *vol_DevName(); diff --git a/src/vol/partition.c b/src/vol/partition.c index 60a07c2c4..72a2ff9d5 100644 --- a/src/vol/partition.c +++ b/src/vol/partition.c @@ -146,6 +146,8 @@ RCSID("$Header$"); #include #endif +/*@printflike@*/ extern void Log(const char *format, ...); + int aixlow_water = 8; /* default 8% */ struct DiskPartition *DiskPartitionList; diff --git a/src/vol/vnode.c b/src/vol/vnode.c index 7fe9b8134..04cd67bf7 100644 --- a/src/vol/vnode.c +++ b/src/vol/vnode.c @@ -63,6 +63,8 @@ RCSID("$Header$"); #endif /* AFS_NT40_ENV */ #include +extern void Abort(const char *format, ...); + struct VnodeClassInfo VnodeClassInfo[nVNODECLASSES]; diff --git a/src/vol/vol-salvage.c b/src/vol/vol-salvage.c index 481d6f220..52262a5b2 100644 --- a/src/vol/vol-salvage.c +++ b/src/vol/vol-salvage.c @@ -391,7 +391,9 @@ typedef struct { /* Forward declarations */ -void Log(), Abort(), Exit(); +/*@printflike@*/ void Log(const char *format, ...); +/*@printflike@*/ void Abort(const char *format, ...); +void Exit(int code); int Fork(void); int Wait(char *prog); char * ToString(char *s); @@ -3659,39 +3661,49 @@ void showlog(void) } } -void Log(a,b,c,d,e,f,g,h,i,j,k) -char *a, *b, *c, *d, *e, *f, *g, *h, *i, *j, *k; +void Log(const char *format, ...) { struct timeval now; + va_list args; + va_start(args, format); #ifndef AFS_NT40_ENV - if ( useSyslog ) - { - syslog(LOG_INFO, a,b,c,d,e,f,g,h,i,j,k); - } else + if ( useSyslog ) + { + char tmp[1024]; + (void) vsnprintf(tmp, sizeof tmp, format, args); + syslog(LOG_INFO, "%s", tmp); + } else #endif - { - gettimeofday(&now, 0); - fprintf(logFile, "%s ", TimeStamp(now.tv_sec, 1)); - fprintf(logFile, a,b,c,d,e,f,g,h,i,j,k); - fflush(logFile); - } + { + gettimeofday(&now, 0); + fprintf(logFile, "%s ", TimeStamp(now.tv_sec, 1)); + vfprintf(logFile, format, args); + fflush(logFile); + } + va_end(args); } -void Abort(a,b,c,d,e,f,g,h,i,j,k) -char *a, *b, *c, *d, *e, *f, *g, *h, *i, *j, *k; +void Abort(const char *format, ...) { + va_list args; + + va_start(args, format); #ifndef AFS_NT40_ENV - if ( useSyslog ) - { - syslog(LOG_INFO, a,b,c,d,e,f,g,h,i,j,k); - } else + if ( useSyslog ) + { + char tmp[1024]; + (void) vsnprintf(tmp, sizeof tmp, format, args); + syslog(LOG_INFO, "%s", tmp); + } else #endif - { - fprintf(logFile, a,b,c,d,e,f,g,h,i,j,k); - fflush(logFile); - if (ShowLog) showlog(); - } + { + vfprintf(logFile, format, args); + fflush(logFile); + if (ShowLog) showlog(); + } + va_end(args); + if (debug) abort(); Exit(1); diff --git a/src/vol/volume.c b/src/vol/volume.c index d7091f16f..a397359aa 100644 --- a/src/vol/volume.c +++ b/src/vol/volume.c @@ -145,6 +145,8 @@ pthread_cond_t vol_sleep_cond; extern void *calloc(), *realloc(); #endif +/*@printflike@*/ extern void Log(const char* format, ...); + /* Forward declarations */ static Volume *attach2(); static void FreeVolume(); diff --git a/src/vol/vutil.c b/src/vol/vutil.c index 4e63c81c4..46cb2520d 100644 --- a/src/vol/vutil.c +++ b/src/vol/vutil.c @@ -64,6 +64,8 @@ RCSID("$Header$"); #include #endif +/*@printflike@*/ extern void Log(const char *format, ...); + void AssignVolumeName(); void AssignVolumeName_r(); void ClearVolumeStats(); diff --git a/src/volser/common.c b/src/volser/common.c index a3247cccd..152c1138e 100644 --- a/src/volser/common.c +++ b/src/volser/common.c @@ -16,23 +16,28 @@ RCSID("$Header$"); #include #include -Log(a,b,c,d,e,f) -char *a, *b, *c, *d, *e, *f; +/*@printflike@*/ void Log(const char *format, ...) { - ViceLog(0, (a, b,c, d, e, f)); + va_list args; + + va_start(args, format); + vViceLog(0, (format, args)); + va_end(args); } -LogError(errcode) -afs_int32 errcode; +void LogError(afs_int32 errcode) { ViceLog(0, ("%s: %s\n", error_table_name(errcode),error_message(errcode))); } -Abort(s,a,b,c,d,e,f,g,h,i,j) -char *s; +/*@printflike@*/ void Abort(const char* format, ...) { + va_list args; + ViceLog(0, ("Program aborted: ")); - ViceLog(0, (s,a,b,c,d,e,f,g,h,i,j)); + va_start(args, format); + vViceLog(0, (format, args)); + va_end(args); abort(); } diff --git a/src/volser/dumpstuff.c b/src/volser/dumpstuff.c index f61c6534f..ad98ad7bf 100644 --- a/src/volser/dumpstuff.c +++ b/src/volser/dumpstuff.c @@ -51,6 +51,8 @@ RCSID("$Header$"); #include "volser.h" #include "volint.h" +/*@printflike@*/ extern void Log(const char *format, ...); + extern int DoLogging; /* This iod stuff is a silly little package to emulate the old qi_in stuff, which diff --git a/src/volser/volmain.c b/src/volser/volmain.c index eb197e21b..d5552d819 100644 --- a/src/volser/volmain.c +++ b/src/volser/volmain.c @@ -60,6 +60,9 @@ RCSID("$Header$"); #include #include +/*@printflike@*/ extern void Log(const char* format, ...); +/*@printflike@*/ extern void Abort(const char *format, ...); + #define VolserVersion "2.0" #define N_SECURITY_OBJECTS 3 @@ -79,7 +82,6 @@ extern int (*VolWriteProc)(); extern int (*VolFlushProc)(); extern void AFSVolExecuteRequest(); extern void RXSTATS_ExecuteRequest(); -extern Log(); struct afsconf_dir *tdir; static afs_int32 runningCalls=0; int DoLogging = 0; diff --git a/src/volser/volprocs.c b/src/volser/volprocs.c index f210bfeb4..20658a617 100644 --- a/src/volser/volprocs.c +++ b/src/volser/volprocs.c @@ -71,6 +71,8 @@ extern struct volser_trans *FindTrans(), *NewTrans(),*TransList(); extern struct afsconf_dir *tdir; extern char *volutil_PartitionName(); +extern void LogError(afs_int32 errcode); + /* Forward declarations */ static int GetPartName(afs_int32 partid, char *pname); diff --git a/src/volser/voltrans.c b/src/volser/voltrans.c index 1efe2cb3c..7b24ed576 100644 --- a/src/volser/voltrans.c +++ b/src/volser/voltrans.c @@ -36,6 +36,8 @@ RCSID("$Header$"); #include #include "volser.h" +/*@printflike@*/ extern void Log(const char *format, ...); + static struct volser_trans *allTrans=0; static afs_int32 transCounter = 1; -- 2.39.5