diff --git a/configure b/configure index 0cff13d..b1cf998 100755 --- a/configure +++ b/configure @@ -298,12 +298,9 @@ fi tryflag CFLAGS_MEMOPS -fno-tree-loop-distribute-patterns # -# If debugging is explicitly enabled, don't auto-enable optimizations +# Enable debugging if requessted. # -if test "$debug" = yes ; then -CFLAGS_AUTO=-g -test "$optimize" = auto && optimize=no -fi +test "$debug" = yes && CFLAGS_AUTO=-g # # Possibly add a -O option to CFLAGS and select modules to optimize with diff --git a/include/syslog.h b/include/syslog.h index 71dbd99..5b4d296 100644 --- a/include/syslog.h +++ b/include/syslog.h @@ -69,21 +69,17 @@ void vsyslog (int, const char *, va_list); #if defined(SYSLOG_NAMES) #define INTERNAL_NOPRI 0x10 #define INTERNAL_MARK (LOG_NFACILITIES<<3) -struct __CODE { - const char *c_name; - int c_val; -}; typedef struct { char *c_name; int c_val; } CODE; -#define prioritynames ((CODE *)(const struct __CODE []){ \ +#define prioritynames ((CODE *)(const CODE []){ \ { "alert", LOG_ALERT }, { "crit", LOG_CRIT }, { "debug", LOG_DEBUG }, \ { "emerg", LOG_EMERG }, { "err", LOG_ERR }, { "error", LOG_ERR }, \ { "info", LOG_INFO }, { "none", INTERNAL_NOPRI }, \ { "notice", LOG_NOTICE }, { "panic", LOG_EMERG }, \ { "warn", LOG_WARNING }, { "warning", LOG_WARNING }, { 0, -1 } }) -#define facilitynames ((CODE *)(const struct __CODE []){ \ +#define facilitynames ((CODE *)(const CODE []){ \ { "auth", LOG_AUTH }, { "authpriv", LOG_AUTHPRIV }, \ { "cron", LOG_CRON }, { "daemon", LOG_DAEMON }, { "ftp", LOG_FTP }, \ { "kern", LOG_KERN }, { "lpr", LOG_LPR }, { "mail", LOG_MAIL }, \ diff --git a/src/network/gethostbyaddr_r.c b/src/network/gethostbyaddr_r.c index 73e7644..66e0330 100644 --- a/src/network/gethostbyaddr_r.c +++ b/src/network/gethostbyaddr_r.c @@ -18,6 +18,8 @@ int gethostbyaddr_r(const void *a, socklen_t l, int af, socklen_t sl = af==AF_INET6 ? sizeof sa.sin6 : sizeof sa.sin; int i; + *res = 0; + /* Load address argument into sockaddr structure */ if (af==AF_INET6 && l==16) memcpy(&sa.sin6.sin6_addr, a, 16); else if (af==AF_INET && l==4) memcpy(&sa.sin.sin_addr, a, 4); diff --git a/src/network/gethostbyname2_r.c b/src/network/gethostbyname2_r.c index aa8b0a9..81f71d2 100644 --- a/src/network/gethostbyname2_r.c +++ b/src/network/gethostbyname2_r.c @@ -17,6 +17,7 @@ int gethostbyname2_r(const char *name, int af, int i, cnt; size_t align, need; + *res = 0; cnt = __lookup_name(addrs, canon, name, af, AI_CANONNAME); if (cnt<0) switch (cnt) { case EAI_NONAME: diff --git a/src/network/sendmmsg.c b/src/network/sendmmsg.c index ff9f861..eeae1d0 100644 --- a/src/network/sendmmsg.c +++ b/src/network/sendmmsg.c @@ -12,6 +12,7 @@ int sendmmsg(int fd, struct mmsghdr *msgvec, unsigned int vlen, unsigned int fla * and the cmsg blocks cannot be modified in-place. */ int i; if (vlen > IOV_MAX) vlen = IOV_MAX; /* This matches the kernel. */ + if (!vlen) return 0; for (i=0; i