Re: FW: 2.5.34: IR __FUNCTION__ breakage

Thunder from the hill (thunder@lightweight.ods.org)
Fri, 20 Sep 2002 11:25:57 -0600 (MDT)


Hi,

On Fri, 20 Sep 2002, Jean Tourrilhes wrote:
> > Why not
> >
> > #define DERROR(dbg, fmt, args...) \
> > do { if (DEBUG_##dbg) \
> > printk(KERN_INFO "irnet: %s(): " fmt, __FUNCTION, args); \
> > } while(0)
> >
> > ?
> >
> > Thunder
>
> Try it, it won't work when there is zero args.

It got corrected shortly afterwards. The non-typo version is:

#define DERROR(dbg, fmt, args...) \
do { if(DEBUG_##dbg) \
printk(KERN_INFO "irnet: %s(): " fmt, __FUNCTION__, ##args); \
} while(0)

Example:
#define DEBUG(fmt, args...) \
printf("%s(): " fmt, __FUNCTION__, ## args)

int main(void)
{
DEBUG("I am hungry.\n");

exit(0);
}

# gcc -Wall -Os -o moehre -s moehre.c
# ./moehre
main(): I am hungry.
#

Thunder

-- 
assert(typeof((fool)->next) == typeof(fool));	/* wrong */

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/