Re: FW: 2.5.34: IR __FUNCTION__ breakage

From: Thunder from the hill (thunder@lightweight.ods.org)
Date: Fri Sep 20 2002 - 12:25:57 EST


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/



This archive was generated by hypermail 2b29 : Mon Sep 23 2002 - 22:00:31 EST