diff options
author | sleske <sleske@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2013-08-22 21:58:34 +0000 |
---|---|---|
committer | sleske <sleske@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2013-08-22 21:58:34 +0000 |
commit | a6feb9143b95d1bf29dc211392dadfe9be2dd49c (patch) | |
tree | 798ef42b227e592d0bd4ebae75abdcc19fedc419 /navit/callback.c | |
parent | 9b4d2d7bc71becdfce4a69e84d5e4e132895f8a9 (diff) | |
download | navit-a6feb9143b95d1bf29dc211392dadfe9be2dd49c.tar.gz |
Fix:core:Build with -Wstrict-prototypes, fix warnings.
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@5589 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/callback.c')
-rw-r--r-- | navit/callback.c | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/navit/callback.c b/navit/callback.c index 2bdcd9a51..b5d0ed3c9 100644 --- a/navit/callback.c +++ b/navit/callback.c @@ -24,7 +24,9 @@ #include "callback.h" struct callback { - void (*func)(); + /* func has variable number of arguments, not (void), + * but we must declare something... */ + void (*func)(void); int pcount; enum attr_type type; void *p[0]; @@ -157,28 +159,36 @@ callback_call(struct callback *cb, int pcount, void **p) pf[i+cb->pcount]=p[i]; switch (cb->pcount+pcount) { case 8: - cb->func(pf[0],pf[1],pf[2],pf[3],pf[4],pf[5],pf[6],pf[7]); + ((int (*)(void*,void*,void*,void*,void*,void*,void*,void*))cb->func)( + pf[0],pf[1],pf[2],pf[3],pf[4],pf[5],pf[6],pf[7]); break; case 7: - cb->func(pf[0],pf[1],pf[2],pf[3],pf[4],pf[5],pf[6]); + ((int (*)(void*,void*,void*,void*,void*,void*,void*))cb->func)( + pf[0],pf[1],pf[2],pf[3],pf[4],pf[5],pf[6]); break; case 6: - cb->func(pf[0],pf[1],pf[2],pf[3],pf[4],pf[5]); + ((int (*)(void*,void*,void*,void*,void*,void*))cb->func)( + pf[0],pf[1],pf[2],pf[3],pf[4],pf[5]); break; case 5: - cb->func(pf[0],pf[1],pf[2],pf[3],pf[4]); + ((int (*)(void*,void*,void*,void*,void*))cb->func)( + pf[0],pf[1],pf[2],pf[3],pf[4]); break; case 4: - cb->func(pf[0],pf[1],pf[2],pf[3]); + ((int (*)(void*,void*,void*,void*))cb->func)( + pf[0],pf[1],pf[2],pf[3]); break; case 3: - cb->func(pf[0],pf[1],pf[2]); + ((int (*)(void*,void*,void*))cb->func)( + pf[0],pf[1],pf[2]); break; case 2: - cb->func(pf[0],pf[1]); + ((int (*)(void*,void*))cb->func)( + pf[0],pf[1]); break; case 1: - cb->func(pf[0]); + ((int (*)(void*))cb->func)( + pf[0]); break; case 0: cb->func(); |