1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00

Try to catch the compilers that don't handle immidiate structures as well as we

would like.  We use them to initialise other struct (lookup) tables, so test
that as well.

Also try not to segfault during our snprintf tests - test both with a 0 len
buffer and without any buffer at all.

Andrew Bartlett
This commit is contained in:
Andrew Bartlett 0001-01-01 00:00:00 +00:00
parent 505119f0a7
commit 2d80ab7122

View File

@ -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
@ -989,6 +995,11 @@ void foo(const char *format, ...) {
int len;
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);