Variable arg function question
rsmith at xs4all.nl
Sun May 4 07:55:21 UTC 2008
On Sun, May 04, 2008 at 12:40:43AM -0700, Unga wrote:
> Hi all
> I need to implement a variable argument function in C.
> The number of args are not known but the type is
> known, all are strings.
> Unfortunately va_arg() [stdarg(3)] does not return
> NULL or any other suitable value after processing the
> arg list, it just simply crashes once the arg list is
It is _your_ task to properly close the argument list. E.g. by supplying
a NULL pointer as the last argument.
> It seems there is no way to know the number of args
> inside the called function.
Not with stdarg.
> How do you guys implement variable arg function such
> as f(str1, str2, str3, ..., strN)?
you could use the same format as main: int foo(int num, char **args)
[plain text _non-HTML_ PGP/GnuPG encrypted/signed email much appreciated]
pgp: 1A2B 477F 9970 BA3C 2914 B7CE 1277 EFB0 C321 A725 (KeyID: C321A725)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20080504/0049728d/attachment.pgp
More information about the freebsd-questions