Messages in this thread | | | Date | Mon, 22 Nov 2004 12:03:56 +0100 (MET) | From | Jan Engelhardt <> | Subject | Re: var args in kernel? |
| |
>> What you can't do is e.g. >> va_list ap; >> va_start (ap, x); >> bar (x, ap); >> bar (x, ap); >> va_end (ap);
In theory, you can't. But the way how GCC (and probably other compilers) implement it, you can. Because "ap" is just a pointer (which fits into a register, if I may add). As such, you can copy it, pass it multiple times, use it multiple times, and whatever you like.
At least that's IIRC the way TCPP recommends you in their helpfile (va_list src; ... va_list dest = src)
Jan Engelhardt -- Gesellschaft für Wissenschaftliche Datenverarbeitung Am Fassberg, 37077 Göttingen, www.gwdg.de - 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/
| |