From: Bruce Hoult Date: Sun, 4 Jan 2015 15:32:29 +0000 (+1300) Subject: Fix OSX issue with snprintf wrapper macro X-Git-Tag: gc7_4_4~14 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7ce7e95b41948d23cc99cafefe5aafa630d1554c;p=gc Fix OSX issue with snprintf wrapper macro (bug introduced in commit 7bef74b) OS X for some reason has problems with defining snprintf as a macro and including another macro expansion in its arguments. * cord/tests/cordtest.c (GC_SNPRINTF_BUFSZ_ARG): Remove. * cord/tests/cordtest.c (GC_SNPRINTF): Do not define if no snprintf() available. * cord/tests/cordtest.c (test_printf): If GC_SNPRINTF undefined then use sprintf() instead. --- diff --git a/cord/tests/cordtest.c b/cord/tests/cordtest.c index adff26b3..77ab27a6 100644 --- a/cord/tests/cordtest.c +++ b/cord/tests/cordtest.c @@ -208,8 +208,6 @@ void test_extras(void) #if defined(__DJGPP__) || defined(__STRICT_ANSI__) /* snprintf is missing in DJGPP (v2.0.3) */ -# define GC_SNPRINTF sprintf -# define GC_SNPRINTF_BUFSZ_ARG(bufsz) /* empty */ #else # if defined(_MSC_VER) # if defined(_WIN32_WCE) @@ -221,7 +219,6 @@ void test_extras(void) # else # define GC_SNPRINTF snprintf # endif -# define GC_SNPRINTF_BUFSZ_ARG(bufsz) (bufsz), #endif void test_printf(void) @@ -246,8 +243,12 @@ void test_printf(void) x = CORD_cat(x,x); if (CORD_sprintf(&result, "->%-120.78r!\n", x) != 124) ABORT("CORD_sprintf failed 3"); - (void)GC_SNPRINTF(result2, GC_SNPRINTF_BUFSZ_ARG(sizeof(result2)) - "->%-120.78s!\n", CORD_to_char_star(x)); +# ifdef GC_SNPRINTF + (void)GC_SNPRINTF(result2, sizeof(result2), "->%-120.78s!\n", + CORD_to_char_star(x)); +# else + (void)sprintf(result2, "->%-120.78s!\n", CORD_to_char_star(x)); +# endif result2[sizeof(result2) - 1] = '\0'; if (CORD_cmp(result, result2) != 0)ABORT("CORD_sprintf goofed 5"); }