/*
* lclfoo.c - test lclint
*/
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int i = 0, num;
float pet = 0.0;
int (*qfun)(float *);
int (*getbuiltout(int))(float *);
num = (argc > 1) ? atoi(argv[1]) : 0;
qfun = getbuiltout(num);
if (qfun != NULL) {
i = qfun(&pet);
printf("number in float %f and returns %d\n", pet, i);
exit(EXIT_SUCCESS);
} else exit(EXIT_FAILURE);
}
/*
* should be a function (of one arg - int) returning
* a pointer to a function (of one arg - float *) returning int
*
* From: cdecl
* cdecl> declare getbuiltout as function (verbose as int) returning
* pointer to function (pobj as pointer to float) returning int
* int (*getbuiltout(int verbose))(float *pobj) { }
*/
int (*getbuiltout(int verbose))(float *)
{
int qpolygon(float *);
switch(verbose) {
case 1:
return qpolygon;
default:
return NULL;
}
}
syntax highlighted by Code2HTML, v. 0.9.1