From: Ben Kaduk Date: Wed, 8 May 2013 16:50:27 +0000 (-0400) Subject: Make UKERNEL's panic() a real function, not a macro X-Git-Tag: upstream/1.8.0_pre1^2~1090 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=fb548e77e7a5cef453f1ebd866e587d23f6d98b1;p=packages%2Fo%2Fopenafs.git Make UKERNEL's panic() a real function, not a macro In particular, a varargs function, so that osi_Panic() can always call panic() as varargs. Change-Id: I2ceee737c0025c146a8cd17b16d6c159e2bbf9d0 Reviewed-on: http://gerrit.openafs.org/9877 Tested-by: BuildBot Reviewed-by: Simon Wilkinson Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear --- diff --git a/src/afs/UKERNEL/sysincludes.h b/src/afs/UKERNEL/sysincludes.h index b94eea5df..e4019561f 100644 --- a/src/afs/UKERNEL/sysincludes.h +++ b/src/afs/UKERNEL/sysincludes.h @@ -836,7 +836,15 @@ enum usr_uio_rw { USR_UIO_READ, USR_UIO_WRITE }; #endif #define NBPG 4096 -#define panic(S) do{fprintf(stderr, "%s", S);assert(0);}while(0) +static_inline void panic(const char *format, ...) AFS_NORETURN; +static_inline void panic(const char *format, ...) +{ + va_list ap; + va_start(ap, format); + vfprintf(stderr, format, ap); + va_end(ap); + assert(0); +}; #define abort() assert(0) #define usr_assert(A) assert(A)