From f390c0f5f95c5270ff484d197a0b31f36b0ce15b Mon Sep 17 00:00:00 2001 From: martin-s Date: Wed, 26 May 2010 09:54:09 +0000 Subject: [PATCH] Fix:Core:Correctly implement variadic arguments git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@3305 ffa7fe5e-494d-0410-b361-a75ebd5db220 --- navit/navit/attr.h | 4 ++-- navit/navit/debug.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/navit/navit/attr.h b/navit/navit/attr.h index 1306610..99315ed 100644 --- a/navit/navit/attr.h +++ b/navit/navit/attr.h @@ -95,8 +95,8 @@ enum attr_position_valid { #define ATTR_DEF_STR(x,y) (&(struct attr){attr_##x,{y}}) #define ATTR_DEF_INT(x,y) (&(struct attr){attr_##x,{(char *)(y)}}) -#define ATTR_DEF_ITEMS(x,types...) (&(struct attr){attr_##x,{(char *)((enum item_type[]){types,type_none})}}) -#define ATTR_LIST(attrs...) (struct attr *[]) { attrs, NULL} +#define ATTR_DEF_ITEMS(x,...) (&(struct attr){attr_##x,{(char *)((enum item_type[]){__VA_ARGS__ , type_none})}}) +#define ATTR_LIST(...) (struct attr *[]) { __VA_ARGS__, NULL} struct attr { enum attr_type type; diff --git a/navit/navit/debug.h b/navit/navit/debug.h index 2a5124f..6b41a7a 100644 --- a/navit/navit/debug.h +++ b/navit/navit/debug.h @@ -30,7 +30,7 @@ extern int debug_level; #define dbg_str2(x) #x #define dbg_str1(x) dbg_str2(x) #define dbg_module dbg_str1(MODULE) -#define dbg(level,fmt...) ({ if (debug_level >= level) debug_printf(level,dbg_module,strlen(dbg_module),__PRETTY_FUNCTION__, strlen(__PRETTY_FUNCTION__),1,fmt); }) +#define dbg(level,...) ({ if (debug_level >= level) debug_printf(level,dbg_module,strlen(dbg_module),__PRETTY_FUNCTION__, strlen(__PRETTY_FUNCTION__),1,__VA_ARGS__); }) #define dbg_assert(expr) ((expr) ? (void) 0 : debug_assert_fail(dbg_module,strlen(dbg_module),__PRETTY_FUNCTION__, strlen(__PRETTY_FUNCTION__),__FILE__,__LINE__,dbg_str1(expr))) #ifdef DEBUG_MALLOC -- 2.7.4