From owner-freebsd-arch@FreeBSD.ORG Wed Nov 5 10:04:46 2003 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from green.bikeshed.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 5133816A4CF; Wed, 5 Nov 2003 10:04:46 -0800 (PST) Received: from green.bikeshed.org (localhost [127.0.0.1]) by green.bikeshed.org (8.12.10/8.12.9) with ESMTP id hA5I4gcR002374; Wed, 5 Nov 2003 13:04:42 -0500 (EST) (envelope-from green@green.bikeshed.org) Received: from localhost (green@localhost)hA5I4gga002370; Wed, 5 Nov 2003 13:04:42 -0500 (EST) Message-Id: <200311051804.hA5I4gga002370@green.bikeshed.org> X-Mailer: exmh version 2.6.3 04/04/2003 with nmh-1.0.4 To: arch@FreeBSD.org From: Brian Fundakowski Feldman Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Wed, 05 Nov 2003 13:04:42 -0500 Sender: green@green.bikeshed.org cc: sam@FreeBSD.org cc: imp@FreeBSD.org Subject: __VA_ARGS__izing IEEE80211_DPRINTF[2]() X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Nov 2003 18:04:46 -0000 Would it be a problem to make the following change to src/sys/net80211 so that the debug messages aren't totally useless for systems that have more than one card (or confusing on systems that just have one)? Obviously, it would also involve removing the extra parentheses in each of the callers as well. Old: #define IEEE80211_DPRINTF(X) if (ieee80211_debug) printf X #define IEEE80211_DPRINTF2(X) if (ieee80211_debug>1) printf X New: #define IEEE80211_DPRINTF(...) do { \ if (ieee80211_debug) \ if_printf(&ic->ic_ifp, __VA_ARGS__); \ while (0) The only place this wouldn't work is ieee80211_decap(), so I'd change it to add a local "ic" variable when compiled for debugging. There's an easy fallback for non-C99 compilers, too; it just wouldn't print the interface: static __inline void IEEE80211_DPRINTF(const char *fmt, ...) { if (ieee80211_debug) { va_list ap; va_start(ap, fmt); (void)vprintf(fmt, ap); va_end(ap); } } -- Brian Fundakowski Feldman \'[ FreeBSD ]''''''''''\ <> green@FreeBSD.org \ The Power to Serve! \ Opinions expressed are my own. \,,,,,,,,,,,,,,,,,,,,,,\