Hi,
in the porting of some kernel code to FreeBSD, i need to remap one
function with a variable number of arguments to the log() function
from the freebsd kernel.

Normally i would do

        #define WARN(x, args...)        log(LOG_WARNING, args)

but this does not work in my case because the function is called in
(many) blocks where there is already a local variable with the same name

        bool log;

which is used a ton of times.

I was wondering if there is some C compiler magic i can use to do the
remapping without going through a macro; I haven't found any direct one,
though perhaps something like

        extern void (*freebsd_log)(int level, const char *fmt, ...);

        #define WARN(x, args...)    freebsd_log(LOG_WARNING, args)

followed somewhere in a safe place by

                freebsd_log = log;

may do the job.

Any other option ?

        cheers
        luigi
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to