[OpenAFS-devel] osi_Panic on AIX and IRIX

Simon Wilkinson sxw@inf.ed.ac.uk
Tue, 9 Feb 2010 23:13:00 +0000


On 9 Feb 2010, at 23:04, Chaz Chandler wrote:
>=20
> I guess you have have multiple macros for different cases instead of =
the
> one function, but that wouldn't be elegant either.

Just don't prototype the function. That's how it was. It worked then. It =
will work now.

If I have a function
    void
    blah(char *a, int *b, int *c, int *d) {
        printf(a, b, c, d);
    }
in a file, and
    extern void blah();
in a header,

I can then use, in another file,
    blah("A string")
    blah("A string %d", 1);
    blah("A string %d %s", 1, "another string);
and so on. The code generator doesn't care, the compiler may give a =
warning, but that's perfectly valid C.

S.