LICENSE IPL10
deal with macro semicolon confusion for vicelog
extern void SetLogThreadNumProgram(int (*func) (void) );
/*@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)
+#define ViceLog(level, str) do { if ((level) <= LogLevel) (FSLog str) } while (0)
+#define vViceLog(level, str) do { if ((level) <= LogLevel) (vFSLog str) } while (0)
extern int OpenLog(const char *filename);
extern int ReOpenLog(const char *fileName);