-/* $Cambridge: exim/src/src/buildconfig.c,v 1.18 2010/06/07 18:09:07 pdp Exp $ */
+/* $Cambridge: exim/src/src/buildconfig.c,v 1.21 2010/06/13 08:26:40 pdp Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
#include <ctype.h>
-#include <inttypes.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
{
off_t test_off_t = 0;
time_t test_time_t = 0;
-#if !(__STDC_VERSION__ >= 199901L) && !defined(PRIdMAX)
size_t test_size_t = 0;
unsigned long test_ulong_t = 0L;
-#endif
long test_long_t = 0;
FILE *base;
FILE *new;
#if __STDC_VERSION__ >= 199901L
fprintf(new, "#define SIZE_T_FMT \"%%zu\"\n");
#else
-# ifdef PRIdMAX
-fprintf(new, "#define SIZE_T_FMT \"%%" PRIdMAX "\"\n");
-# else
if (sizeof(test_size_t) > sizeof (test_ulong_t))
fprintf(new, "#define SIZE_T_FMT \"%%llu\"\n");
else
fprintf(new, "#define SIZE_T_FMT \"%%lu\"\n");
-# endif
#endif
/* Now search the makefile for certain settings */
steps to filter out the most obvious ones. */
if ((!uid_not_set && uid == 0) ||
- (strcmp(username, "root") == 0) ||
- (strcmp(username, "toor") == 0) )
+ ((username != NULL) && (
+ (strcmp(username, "root") == 0) ||
+ (strcmp(username, "toor") == 0) )))
{
printf("\n*** Exim's internal user must not be root.\n\n");
return 1;
fprintf(new, "\"%s\"\n", value);
}
- /* Timezone values and HEADERS_CHARSET get quoted */
+ /* Timezone values HEADERS_CHARSET, TCP_WRAPPERS_DAEMON_NAME and
+ WHITELIST_D_MACROS get quoted */
else if (strcmp(name, "TIMEZONE_DEFAULT") == 0||
- strcmp(name, "HEADERS_CHARSET") == 0)
+ strcmp(name, "TCP_WRAPPERS_DAEMON_NAME") == 0||
+ strcmp(name, "HEADERS_CHARSET") == 0||
+ strcmp(name, "WHITELIST_D_MACROS") == 0)
fprintf(new, "\"%s\"\n", value);
/* For others, quote any paths and don't quote anything else */