summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsleske <sleske@ffa7fe5e-494d-0410-b361-a75ebd5db220>2013-08-22 21:58:34 +0000
committersleske <sleske@ffa7fe5e-494d-0410-b361-a75ebd5db220>2013-08-22 21:58:34 +0000
commit09c3f1734a5219b7bb059c10751287c081ef0b30 (patch)
tree798ef42b227e592d0bd4ebae75abdcc19fedc419
parent995a2e17e6f3f02ddfb56c896fdcdaf6aba49dcd (diff)
downloadnavit-svn-09c3f1734a5219b7bb059c10751287c081ef0b30.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
-rwxr-xr-xCMakeLists.txt4
-rw-r--r--navit/callback.c28
2 files changed, 22 insertions, 10 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 739f7060..61e279ee 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -266,6 +266,8 @@ if (QT_FOUND)
endif(QT_FOUND)
if(GTK2_FOUND)
+ # Include gtk.h with "SYSTEM" to avoid GCC compiler warning for gtkitemfactory.h.
+ include_directories(SYSTEM ${GTK2_GTK_INCLUDE_DIR})
include_directories(${GTK2_INCLUDE_DIRS})
set(HAVE_GTK2 1)
set_with_reason(gui/gtk "GTK libs found" TRUE ${GTK2_LIBRARIES})
@@ -642,7 +644,7 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY
# -Wno-sign-compare: We currently just use int almost everywhere.
# Unclear if it's really worth correcting.
if(CMAKE_COMPILER_IS_GNUCC OR CCMAKE_COMPILER_IS_GNUCXX)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wcast-align -Wpointer-arith -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wno-sign-compare -Wmissing-prototypes ")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wcast-align -Wpointer-arith -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wno-sign-compare -Wmissing-prototypes -Wstrict-prototypes ")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wcast-align -Wpointer-arith -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wno-sign-compare ")
endif()
diff --git a/navit/callback.c b/navit/callback.c
index 2bdcd9a5..b5d0ed3c 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();