diff options
-rw-r--r-- | source3/configure.in | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/source3/configure.in b/source3/configure.in index 6c2aae1872..90bf8a67c5 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -352,9 +352,15 @@ AC_CACHE_CHECK([for immediate structures],samba_cv_immediate_structures, [ AC_TRY_COMPILE([ #include <stdio.h>], [ - #define X_FOOBAR(x) ((FOOBAR) { x }) typedef struct {unsigned x;} FOOBAR; - FOOBAR f = X_FOOBAR(1); + #define X_FOOBAR(x) ((FOOBAR) { x }) + #define FOO_ONE X_FOOBAR(1) + FOOBAR f = FOO_ONE; + static struct { + FOOBAR y; + } f2[] = { + {FOO_ONE} + }; ], samba_cv_immediate_structures=yes,samba_cv_immediate_structures=no)]) if test x"$samba_cv_immediate_structures" = x"yes"; then @@ -990,6 +996,11 @@ void foo(const char *format, ...) { char buf[5]; va_start(ap, format); + len = vsnprintf(buf, 0, format, ap); + va_end(ap); + if (len != 5) exit(1); + + va_start(ap, format); len = vsnprintf(0, 0, format, ap); va_end(ap); if (len != 5) exit(1); |