summaryrefslogtreecommitdiff
path: root/source4/lib/replace/config.m4
diff options
context:
space:
mode:
Diffstat (limited to 'source4/lib/replace/config.m4')
-rw-r--r--source4/lib/replace/config.m412
1 files changed, 8 insertions, 4 deletions
diff --git a/source4/lib/replace/config.m4 b/source4/lib/replace/config.m4
index c2e0e5e6f4..8bfd836189 100644
--- a/source4/lib/replace/config.m4
+++ b/source4/lib/replace/config.m4
@@ -91,7 +91,9 @@ AC_CHECK_HEADERS(strings.h)
AC_CACHE_CHECK([for C99 vsnprintf],samba_cv_HAVE_C99_VSNPRINTF,[
AC_TRY_RUN([
#include <sys/types.h>
+#include <stdio.h>
#include <stdarg.h>
+#include <stdlib.h>
void foo(const char *format, ...) {
va_list ap;
int len;
@@ -107,12 +109,14 @@ void foo(const char *format, ...) {
va_start(ap, format);
len = vsnprintf(0, 0, format, ap);
va_end(ap);
- if (len != 5) exit(1);
+ if (len != 5) exit(2);
- if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
+ if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(3);
- if (snprintf(buf, 20, "%lld", l) != 12 || strcmp(buf, "123456789000") != 0) exit(1);
- if (snprintf(buf, 20, "%s", 0) < 3) exit(1);
+ if (snprintf(buf, 20, "%lld", l) != 12 || strcmp(buf, "123456789000") != 0) exit(4);
+ if (snprintf(buf, 20, "%zu", 123456789) != 9 || strcmp(buf, "123456789") != 0) exit(5);
+ if (snprintf(buf, 20, "%2\$d %1\$d", 3, 4) != 3 || strcmp(buf, "4 3") != 0) exit(6);
+ if (snprintf(buf, 20, "%s", 0) < 3) exit(7);
exit(0);
}