]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
DEVEL15-rx-varargs-20080924
authorSimon Wilkinson <sxw@inf.ed.ac.uk>
Fri, 3 Oct 2008 15:55:12 +0000 (15:55 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 3 Oct 2008 15:55:12 +0000 (15:55 +0000)
LICENSE IPL10

make rx use varargs instead of a large fixed set of parms

(cherry picked from commit 8aa9d07e35c132ba5bbc1704fc9c0ba289b277fd)

src/rx/rx.c
src/rx/rx_kcommon.c
src/rx/rx_kcommon.h
src/rx/rx_kernel.h
src/rx/rx_prototypes.h
src/rx/rx_user.c
src/rx/rx_user.h

index 6e413ea5338eec0b30245a20e903d896753240f1..2d4be95b001689d5d2a9e170279e58b6b6d7147c 100644 (file)
@@ -6275,9 +6275,7 @@ rx_DebugOnOff(int on)
 
 /* Don't call this debugging routine directly; use dpf */
 void
-rxi_DebugPrint(char *format, int a1, int a2, int a3, int a4, int a5, int a6,
-              int a7, int a8, int a9, int a10, int a11, int a12, int a13,
-              int a14, int a15)
+rxi_DebugPrint(char *format, ...)
 {
 #ifdef AFS_NT40_ENV
     char msg[512];
@@ -6287,9 +6285,7 @@ rxi_DebugPrint(char *format, int a1, int a2, int a3, int a4, int a5, int a6,
     len = _snprintf(tformat, sizeof(tformat), "tid[%d] %s", GetCurrentThreadId(), format);
 
     if (len > 0) {
-       len = _snprintf(msg, sizeof(msg)-2, 
-                       tformat, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, 
-                       a11, a12, a13, a14, a15);
+       len = _vsnprintf(msg, sizeof(msg)-2, tformat, ap);
        if (len > 0) {
            if (msg[len-1] != '\n') {
                msg[len] = '\n';
@@ -6298,14 +6294,19 @@ rxi_DebugPrint(char *format, int a1, int a2, int a3, int a4, int a5, int a6,
            OutputDebugString(msg);
        }
     }
+    va_end(ap);
 #else
     struct clock now;
+    va_list ap;
+    
+    va_start(ap, format);
+
     clock_GetTime(&now);
     fprintf(rx_Log, " %u.%.3u:", (unsigned int)now.sec,
            (unsigned int)now.usec / 1000);
-    fprintf(rx_Log, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12,
-           a13, a14, a15);
+    vfprintf(rx_Log, format, ap);
     putc('\n', rx_Log);
+    va_end(ap);
 #endif
 }
 
index 1f1b3cd6e585b7932ff74fc5f0f2022ed95d38a6..ba14d026a9c2c7fcdc90d5ebc9b1df7588435a29 100644 (file)
@@ -126,13 +126,14 @@ rxi_GetUDPSocket(u_short port)
 
 #if !defined(AFS_LINUX26_ENV)
 void
-osi_Panic(msg, a1, a2, a3)
-     char *msg;
+osi_Panic(char *msg, ...)
 {
+    va_list ap;
     if (!msg)
        msg = "Unknown AFS panic";
 
-    printf(msg, a1, a2, a3);
+    va_start(ap, msg);
+    vprintf(msg, ap);
 #ifdef AFS_LINUX20_ENV
     * ((char *) 0) = 0; 
 #else
index 717f47753ea3b2e6b0e3097ad75366d70c90a525..e0252408f5c6b3fdc25051c69074ec3e94245373 100644 (file)
@@ -139,6 +139,7 @@ typedef unsigned short etap_event_t;
 #include "afs/longc_procs.h"
 #include "afs/afs_stats.h"
 #include "h/errno.h"
+#include "stdarg.h"
 #ifdef KERNEL
 #include "afs/sysincludes.h"
 #include "afsincludes.h"
index 3bb6d7d35c4a230b38449ba04f31a9835c9e056f..b6f835ba7c94fa25756040b8339f5391b8ac5039 100644 (file)
@@ -37,6 +37,7 @@ extern int osi_utoa(char *buf, size_t len, unsigned long val);
 #define osi_Assert(e) (void)((e) || (osi_AssertFailK(#e, __FILE__, __LINE__), 0))
 
 #define        osi_Msg printf)(
+#define osi_VMsg vprintf)(
 
 #define        osi_YieldIfPossible()
 #define        osi_WakeupAndYieldIfPossible(x)     rx_Wakeup(x)
index 88b77bda143a5cfb370aa2ad266616f6a5231efc..b0c3652caaa1cfec9a9ee96e4b7c7912046a48de 100644 (file)
@@ -264,19 +264,8 @@ extern afs_int32 rx_SetSecurityConfiguration(struct rx_service *service,
                                             rx_securityConfigVariables type,
                                             void *value);
 
-
-/* old style till varargs */
-#if 0
-void
-rxi_DebugPrint(char *format, int a1, int a2, int a3, int a4, int a5, int a6,
-               int a7, int a8, int a9, int a10, int a11, int a12, int a13,
-              int a14, int a15);
-void
-rxi_DebugInit(void);
-#else
-void rxi_DebugInit();
-void rxi_DebugPrint();
-#endif
+void rxi_DebugInit(void);
+void rxi_DebugPrint(char *format, ...);
 
 /* rx_clock.c */
 #if !defined(clock_Init)
@@ -373,7 +362,7 @@ extern osi_socket rxi_GetHostUDPSocket(u_int host, u_short port);
 #define osi_Assert(expr) \
     do { if (!(expr)) { osi_AssertFailK(#expr, __FILE__, __LINE__); BUG(); } } while (0)
 #else
-extern void osi_Panic();       /* leave without args till stdarg rewrite */
+extern void osi_Panic(char *fmt, ...);
 #endif
 extern int osi_utoa(char *buf, size_t len, unsigned long val);
 extern void rxi_InitPeerParams(register struct rx_peer *pp);
index 04dacd896bd97c63068c4374ff004ffa1a396628..708d014b24392e533f6c48308c7250a67d6ac5e2 100644 (file)
@@ -221,11 +221,13 @@ rxi_GetUDPSocket(u_short port)
 }
 
 void
-osi_Panic(msg, a1, a2, a3) 
-     char *msg; 
+osi_Panic(char *msg, ...)
 {
+    va_list ap;
+    va_start(ap, msg);
     (osi_Msg "Fatal Rx error: ");
-    (osi_Msg msg, a1, a2, a3);
+    (osi_VMsg msg, ap);
+    va_end(ap);
     fflush(stderr);
     fflush(stdout);
     afs_abort();
index 1aebdf0cd140893aea0c184bdde444b025c98c44..83bd604a925b706a1fd2f2d62129ab7e8bc5e13b 100644 (file)
@@ -66,5 +66,6 @@ typedef afs_int32 osi_socket;
 #define osi_Assert(e) (void)((e) || (osi_AssertFailU(#e, __FILE__, __LINE__), 0))
 
 #define        osi_Msg                     fprintf)(stderr,
+#define osi_VMsg                   vfprintf)(stderr,
 
 #endif /* RX_USER_INCLUDE */