Use defines in config.h for type & scanf-patterns for eval. Update docs.
[exim.git] / src / src / buildconfig.c
index c012fb7d40a70f106ecccd62ecd56a5312327269..64902a1ee2d6a7e2e5fba31f537c0f5452517ec8 100644 (file)
@@ -1,5 +1,3 @@
-/* $Cambridge: exim/src/src/buildconfig.c,v 1.21 2010/06/13 08:26:40 pdp Exp $ */
-
 /*************************************************
 *     Exim - an Internet mail transport agent    *
 *************************************************/
@@ -103,8 +101,10 @@ main(int argc, char **argv)
 {
 off_t test_off_t = 0;
 time_t test_time_t = 0;
+#if ! (__STDC_VERSION__ >= 199901L)
 size_t test_size_t = 0;
 unsigned long test_ulong_t = 0L;
+#endif
 long test_long_t = 0;
 FILE *base;
 FILE *new;
@@ -332,6 +332,16 @@ while (fgets(buffer, sizeof(buffer), base) != NULL)
 
   while (*p == ' ' || *p == '\t') p++;
 
+  if (strncmp(p, "#ifdef ", 7) == 0
+   || strncmp(p, "#ifndef ", 8) == 0
+   || strncmp(p, "#if ", 4) == 0
+   || strncmp(p, "#endif", 6) == 0
+     )
+    {
+    fputs(buffer, new);
+    continue;
+    }
+
   if (strncmp(p, "#define ", 8) != 0) continue;
 
   p += 8;