From 58dee69a9b28866386c7b354697c2db0e709199c Mon Sep 17 00:00:00 2001 From: joerg Date: Mon, 9 Jul 2001 21:11:10 +0000 Subject: [PATCH] Log when the user is turning debugging on/off. Also sanitize the TRACE* macros a bit so they syntactically behave like single C statements (even inside in `if' statement). Submitted by: des --- sys/dev/fdc/fdc.c | 14 +++++++++----- sys/isa/fd.c | 14 +++++++++----- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/sys/dev/fdc/fdc.c b/sys/dev/fdc/fdc.c index 09d19d73bc5..c410c5aae05 100644 --- a/sys/dev/fdc/fdc.c +++ b/sys/dev/fdc/fdc.c @@ -252,11 +252,11 @@ static char const * const fdstates[] = /* CAUTION: fd_debug causes huge amounts of logging output */ static int volatile fd_debug = 0; -#define TRACE0(arg) if(fd_debug) printf(arg) -#define TRACE1(arg1, arg2) if(fd_debug) printf(arg1, arg2) +#define TRACE0(arg) do { if (fd_debug) printf(arg); } while (0) +#define TRACE1(arg1, arg2) do { if (fd_debug) printf(arg1, arg2); } while (0) #else /* FDC_DEBUG */ -#define TRACE0(arg) -#define TRACE1(arg1, arg2) +#define TRACE0(arg) do { } while (0) +#define TRACE1(arg1, arg2) do { } while (0) #endif /* FDC_DEBUG */ static void @@ -2413,7 +2413,11 @@ fdioctl(dev_t dev, u_long cmd, caddr_t addr, int flag, struct proc *p) #ifdef FDC_DEBUG case FD_DEBUG: - fd_debug = *(int *)addr; + if ((fd_debug != 0) != (*(int *)addr != 0)) { + fd_debug = (*(int *)addr != 0); + printf("fd%d: debugging turned %s\n", + fd->fdu, fd_debug ? "on" : "off"); + } break; #endif diff --git a/sys/isa/fd.c b/sys/isa/fd.c index 09d19d73bc5..c410c5aae05 100644 --- a/sys/isa/fd.c +++ b/sys/isa/fd.c @@ -252,11 +252,11 @@ static char const * const fdstates[] = /* CAUTION: fd_debug causes huge amounts of logging output */ static int volatile fd_debug = 0; -#define TRACE0(arg) if(fd_debug) printf(arg) -#define TRACE1(arg1, arg2) if(fd_debug) printf(arg1, arg2) +#define TRACE0(arg) do { if (fd_debug) printf(arg); } while (0) +#define TRACE1(arg1, arg2) do { if (fd_debug) printf(arg1, arg2); } while (0) #else /* FDC_DEBUG */ -#define TRACE0(arg) -#define TRACE1(arg1, arg2) +#define TRACE0(arg) do { } while (0) +#define TRACE1(arg1, arg2) do { } while (0) #endif /* FDC_DEBUG */ static void @@ -2413,7 +2413,11 @@ fdioctl(dev_t dev, u_long cmd, caddr_t addr, int flag, struct proc *p) #ifdef FDC_DEBUG case FD_DEBUG: - fd_debug = *(int *)addr; + if ((fd_debug != 0) != (*(int *)addr != 0)) { + fd_debug = (*(int *)addr != 0); + printf("fd%d: debugging turned %s\n", + fd->fdu, fd_debug ? "on" : "off"); + } break; #endif -- 2.45.2