Date: Wed, 3 Aug 2011 14:19:08 -0400 From: Rich Felker <dalias@...ifal.cx> To: musl@...ts.openwall.com Subject: Re: cluts weekly reports On Wed, Aug 03, 2011 at 08:03:06PM +0200, Luka Marčetić wrote: > Ideally what I'd want is: > > fp(args) > > where fp is a function pointer to functions with different > prototypes, and args are a number of arguments, each of an arbitrary > type. Or at least: > > if (nr_args == 1) > fp (*(type *) arg); > else if (nr_args == 2) > fp (*(type *) arg, *(type *) arg); > > What I'm doing instead essentially is: > > if (fp == specific_function) > specific_function(*(int*)arg, *(char **)arg); > else if (fp == another_function) > another_function(*(size_t *)arg); There's definitely a better way to do this. If nothing else, you could write one-line wrappers for each function you want to test and put a pointer to the wrapper rather than the function itself in the table. > That just dislocates above, and puts it into the function to be > called with the arg pointer (and, don't forget, the function > identifier). I can go to IRC if you want to see what the generator > output is/should be, and based on what input. Could you include some here? Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.