diff options
author | Matthias Andree <matthias.andree@gmx.de> | 2016-12-11 15:27:08 +0100 |
---|---|---|
committer | Matthias Andree <matthias.andree@gmx.de> | 2016-12-11 22:06:12 +0100 |
commit | ab4dd923d778048d5ba4a0bab7e730d0c157b322 (patch) | |
tree | 457480487346cdb8ffc5105d0791891e158893f9 | |
parent | e77d739e6a5ef96607f21229fb03530934b71d75 (diff) | |
download | fetchmail-ab4dd923d778048d5ba4a0bab7e730d0c157b322.tar.gz fetchmail-ab4dd923d778048d5ba4a0bab7e730d0c157b322.tar.bz2 fetchmail-ab4dd923d778048d5ba4a0bab7e730d0c157b322.zip |
Fix portability to C90 and C++.
-rw-r--r-- | configure.ac | 1 | ||||
-rw-r--r-- | pop3.c | 1 | ||||
-rw-r--r-- | uid_db.c | 7 | ||||
-rw-r--r-- | xmalloc.c | 7 | ||||
-rw-r--r-- | xmalloc.h | 13 |
5 files changed, 17 insertions, 12 deletions
diff --git a/configure.ac b/configure.ac index d6f96c2b..12ab1a4f 100644 --- a/configure.ac +++ b/configure.ac @@ -103,6 +103,7 @@ AC_CHECK_DECLS([h_errno],,,[ ]) AC_C_CONST dnl getopt needs this. +AC_C_INLINE dnl uid_db.? need this. AM_PROG_LEX AC_PROG_MAKE_SET @@ -816,7 +816,6 @@ static int pop3_fastuidl( int sock, struct query *ctl, unsigned int count, int int ok; unsigned int first_nr, last_nr, try_nr; char id [IDLEN+1]; - struct idlist *savep = NULL; /** pointer to cache save_str result, speeds up saves */ first_nr = 0; last_nr = count + 1; @@ -10,12 +10,13 @@ /* Have Solaris expose ffs() from strings.h: */ #define __EXTENSIONS__ +#define _XOPEN_SOURCE 700 /* includes */ #include <stdio.h> #include <stdlib.h> #include <string.h> -#include <strings.h> // ffs() lives here - needs #define on Solaris. +#include <strings.h> /* ffs() lives here - needs #define on Solaris. */ #include "xmalloc.h" #include "uid_db.h" @@ -94,8 +95,8 @@ static struct pat_node *walk_down(struct uid_db *db, struct uid_db_record *rec, *parentp = (struct pat_node *) ((unsigned char *)edge - (v & bit_mask(bit_ndx) ? - offsetof(struct pat_node, ptrs_[2]) - : offsetof(struct pat_node, ptrs_[0]))); + offsetof(struct pat_node, ptrs_) + 2 * sizeof(struct pat_node *) + : offsetof(struct pat_node, ptrs_))); *edgep = edge; return cur; } @@ -6,6 +6,7 @@ */ #include "config.h" +#include "xmalloc.h" #include <sys/types.h> #include <stdio.h> #include <errno.h> @@ -16,12 +17,6 @@ #include "fetchmail.h" #include "i18n.h" -#if defined(HAVE_VOIDPOINTER) -#define XMALLOCTYPE void -#else -#define XMALLOCTYPE char -#endif - XMALLOCTYPE * xmalloc (size_t n) { @@ -4,9 +4,14 @@ #define XMALLOC_H #include "config.h" +#include <stdlib.h> + +#ifdef __cplusplus +extern "C" { +#endif /* xmalloc.c */ -#if defined(HAVE_VOIDPOINTER) +#if defined(HAVE_VOIDPOINTER) || defined(__cplusplus) #define XMALLOCTYPE void #else #define XMALLOCTYPE char @@ -16,7 +21,7 @@ XMALLOCTYPE *xmalloc(size_t n); /** Reallocate \a n characters of memory, abort program on failure. */ -XMALLOCTYPE *xrealloc(/*@null@*/ XMALLOCTYPE *, size_t n); +XMALLOCTYPE *xrealloc(/*@null@*/ void *, size_t n); /** Free memory at position \a p and set pointer \a p to NULL afterwards. */ #define xfree(p) { if (p) { free(p); } (p) = 0; } @@ -31,4 +36,8 @@ char *xstrdup(const char *src); * length including NUL byte or n + 1. */ char *xstrndup(const char *src, size_t n); +#ifdef __cplusplus +} +#endif + #endif |