git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Overhaul of GnuTLS code.
[exim.git]
/
src
/
src
/
buildconfig.c
diff --git
a/src/src/buildconfig.c
b/src/src/buildconfig.c
index 49d8c411ac1cbd904a82ecad8c2f164d0e335d09..1eaf2f505dfcd4ae3f561c9d8c7c03a85ade5af4 100644
(file)
--- a/
src/src/buildconfig.c
+++ b/
src/src/buildconfig.c
@@
-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 *
*************************************************/
/*************************************************
* Exim - an Internet mail transport agent *
*************************************************/
@@
-42,16
+40,16
@@
normally called independently. */
#include <grp.h>
typedef struct {
#include <grp.h>
typedef struct {
- char *name;
+ c
onst c
har *name;
int *flag;
} have_item;
typedef struct {
int *flag;
} have_item;
typedef struct {
- char *name;
+ c
onst c
har *name;
char *data;
} save_item;
char *data;
} save_item;
-static char *db_opts[] = { "", "USE_DB", "USE_GDBM", "USE_TDB" };
+static c
onst c
har *db_opts[] = { "", "USE_DB", "USE_GDBM", "USE_TDB" };
static int have_ipv6 = 0;
static int have_iconv = 0;
static int have_ipv6 = 0;
static int have_iconv = 0;
@@
-103,8
+101,11
@@
main(int argc, char **argv)
{
off_t test_off_t = 0;
time_t test_time_t = 0;
{
off_t test_off_t = 0;
time_t test_time_t = 0;
+#if ! (__STDC_VERSION__ >= 199901L)
size_t test_size_t = 0;
size_t test_size_t = 0;
+ssize_t test_ssize_t = 0;
unsigned long test_ulong_t = 0L;
unsigned long test_ulong_t = 0L;
+#endif
long test_long_t = 0;
FILE *base;
FILE *new;
long test_long_t = 0;
FILE *base;
FILE *new;
@@
-179,15
+180,22
@@
else
fprintf(new, "#endif\n\n");
/* And for sizeof() results, size_t, which should with C99 be just %zu, deal
fprintf(new, "#endif\n\n");
/* And for sizeof() results, size_t, which should with C99 be just %zu, deal
-with C99 not being ubiquitous yet. Unfortunately. */
+with C99 not being ubiquitous yet. Unfortunately. Assume ssize_t is same
+size as size_t on C99; if someone comes up with a version where it's not, fix
+it then. */
#if __STDC_VERSION__ >= 199901L
fprintf(new, "#define SIZE_T_FMT \"%%zu\"\n");
#if __STDC_VERSION__ >= 199901L
fprintf(new, "#define SIZE_T_FMT \"%%zu\"\n");
+fprintf(new, "#define SSIZE_T_FMT \"%%zd\"\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");
#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");
+if (sizeof(test_ssize_t) > sizeof(test_long_t))
+ fprintf(new, "#define SSIZE_T_FMT \"%%lld\"\n");
+else
+ fprintf(new, "#define SSIZE_T_FMT \"%%ld\"\n");
#endif
/* Now search the makefile for certain settings */
#endif
/* Now search the makefile for certain settings */
@@
-332,6
+340,16
@@
while (fgets(buffer, sizeof(buffer), base) != NULL)
while (*p == ' ' || *p == '\t') p++;
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;
if (strncmp(p, "#define ", 8) != 0) continue;
p += 8;
@@
-557,9
+575,9
@@
while (fgets(buffer, sizeof(buffer), base) != NULL)
int isgroup = name[10] == 'G';
uid_t uid = 0;
gid_t gid = 0;
int isgroup = name[10] == 'G';
uid_t uid = 0;
gid_t gid = 0;
- char *s;
- char *username = NULL;
- char *user = getenv(name);
+ c
onst c
har *s;
+ c
onst c
har *username = NULL;
+ c
onst c
har *user = getenv(name);
if (user == NULL) user = "";
while (isspace((unsigned char)(*user))) user++;
if (user == NULL) user = "";
while (isspace((unsigned char)(*user))) user++;
@@
-600,8
+618,7
@@
while (fgets(buffer, sizeof(buffer), base) != NULL)
while (isspace(*user)) user++;
username = user;
}
while (isspace(*user)) user++;
username = user;
}
-
- else if (isgroup)
+else if (isgroup)
{
struct group *gr = getgrnam(user);
if (gr == NULL)
{
struct group *gr = getgrnam(user);
if (gr == NULL)