🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.lang.c
Article #9516

Re: Disappearing function call

#9516
From: John Woods, Software
Date: Tue, 07 Oct 1986 19:43
28 lines
1297 bytes
> What I want to do is to write a function call of a variable number of
> arguments:
> 	debug(x, y, z, ...)
> that will generate no code when the symbol DEBUG is not defined, but
> generate a call of some function (say, debug_()) when it is.

Try:

#ifdef DEBUG
#define debug(x) x
#else
#define debug(x)
#endif

	debug( puts("Shut 'er down, Scotty, she's sucking mud again."); )

The extra layer of indirection may feel irritating, but it also allows

	debug( if (op == NULL) exit(puts("RATS RATS RATS [#566, para. 1]")); )

It's quick, it's easy, it works.

--
John Woods, Charles River Data Systems, Framingham MA, (617) 626-1101
...!decvax!frog!john, ...!mit-eddie!jfw, jfw%mit-ccc@MIT-XX.ARPA

"Don't give me this intelligent life crap,
just find me a planet I can blow up."
Technical Details
Message-ID: <1077@frog.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!husc6!talcott!necntc!frog!john
References: <357@cullvax.UUCP>

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!husc6!talcott!necntc!frog!john
From: john@frog.UUCP (John Woods, Software)
Newsgroups: net.lang.c
Subject: Re: Disappearing function call
Message-ID: <1077@frog.UUCP>
Date: Tue, 7-Oct-86 15:43:33 EDT
Article-I.D.: frog.1077
Posted: Tue Oct  7 15:43:33 1986
Date-Received: Wed, 8-Oct-86 08:28:11 EDT
References: <357@cullvax.UUCP>
Organization: Superfrog Heaven [ CRDS, Framingham MA ]
Lines: 27