Tidying and compiler-silencing
authorJeremy Harris <jgh146exb@wizmail.org>
Sun, 16 Sep 2018 19:50:04 +0000 (20:50 +0100)
committerJeremy Harris <jgh146exb@wizmail.org>
Sun, 16 Sep 2018 19:50:04 +0000 (20:50 +0100)
src/src/auths/auth-spa.c
src/src/deliver.c
src/src/exim_dbutil.c
src/src/expand.c
src/src/globals.c
src/src/mime.c
src/src/retry.c
src/src/routers/rf_get_munge_headers.c
src/src/smtp_in.c
src/src/tod.c
src/src/transports/smtp.c

index 6bc3d1f637e6a96da03e0dfd083f4a76f8e5a762..d2c95c3d7c5659d5573d04726bcec7bf02dccaea 100644 (file)
@@ -1220,7 +1220,7 @@ char versionString[] = "libntlm version 0.21";
 
 #define spa_bytes_add(ptr, header, buf, count) \
 { \
-if (buf != NULL  &&  count) \
+if (buf != NULL  &&  count != 0) /* we hate -Wint-in-bool-contex */ \
   { \
   SSVAL(&ptr->header.len,0,count); \
   SSVAL(&ptr->header.maxlen,0,count); \
index 0a0ed8a342b6ce60c2b1ebed92f245312c44c287..1f60042ff8ab53c3837333552a18fc0e813fde39 100644 (file)
@@ -1095,7 +1095,7 @@ static uschar buf[sizeof("0.000s")];
 if (diff->tv_sec >= 5 || !LOGGING(millisec))
   return readconf_printtime((int)diff->tv_sec);
 
-sprintf(CS buf, "%d.%03ds", (int)diff->tv_sec, (int)diff->tv_usec/1000);
+sprintf(CS buf, "%u.%03us", (uint)diff->tv_sec, (uint)diff->tv_usec/1000);
 return buf;
 }
 
@@ -8597,6 +8597,7 @@ else
   }
 return;                /* compiler quietening; control does not reach here. */
 
+#ifdef SUPPORT_TLS
 fail:
   log_write(0,
     LOG_MAIN | (exec_type == CEE_EXEC_EXIT ? LOG_PANIC : LOG_PANIC_DIE),
@@ -8606,6 +8607,7 @@ fail:
   Note: this must be _exit(), not exit(). */
 
   _exit(EX_EXECFAILED);
+#endif
 }
 
 /* vi: aw ai sw=2
index e04f9ae31db7400c11b379c6e9af6de27dc4a2a1..491a4531509964d75e209559e91c3782ad984471 100644 (file)
@@ -260,7 +260,7 @@ ensures that Exim has exclusive use of the database before it even tries to
 open it. If there is a database, there should be a lock file in existence. */
 
 snprintf(CS dirname, sizeof(dirname), "%s/db", spool_directory);
-snprintf(CS filename, sizeof(filename), "%s/%.200s.lockfile", dirname, name);
+snprintf(CS filename, sizeof(filename), "%.54s/%.200s.lockfile", dirname, name);
 
 dbblock->lockfd = Uopen(filename, flags, 0);
 if (dbblock->lockfd < 0)
@@ -296,10 +296,10 @@ if (rc < 0)
 /* At this point we have an opened and locked separate lock file, that is,
 exclusive access to the database, so we can go ahead and open it. */
 
-sprintf(CS filename, "%s/%s", dirname, name);
+snprintf(CS filename, sizeof(filename), "%s/%s", dirname, name);
 EXIM_DBOPEN(filename, dirname, flags, 0, &(dbblock->dbptr));
 
-if (dbblock->dbptr == NULL)
+if (!dbblock->dbptr)
   {
   printf("** Failed to open DBM file %s for %s:\n   %s%s\n", filename,
     read_only? "reading" : "writing", strerror(errno),
index b3e918ea8f9f00570641b55e834c0251354282c6..cd753ef0615e402856dea2b04c10719eee397623 100644 (file)
@@ -4957,7 +4957,7 @@ while (*s != 0)
           sockun.sun_family = AF_UNIX;
           sprintf(sockun.sun_path, "%.*s", (int)(sizeof(sockun.sun_path)-1),
             sub_arg[0]);
-         server_name = sockun.sun_path;
+         server_name = US sockun.sun_path;
 
           sigalrm_seen = FALSE;
           alarm(timeout);
@@ -6372,7 +6372,9 @@ while (*s != 0)
     int c;
     uschar *arg = NULL;
     uschar *sub;
+#ifdef SUPPORT_TLS
     var_entry *vp = NULL;
+#endif
 
     /* Owing to an historical mis-design, an underscore may be part of the
     operator name, or it may introduce arguments.  We therefore first scan the
index d834373b5cc7dd5e8c4ed8059462357b4b2ccbb3..340c45187c72e4b9e0296887f420f27243e449f8 100644 (file)
@@ -315,7 +315,6 @@ struct global_flags f =
        .really_exim            = TRUE,
        .receive_call_bombout   = FALSE,
        .recipients_discarded   = FALSE,
-/* BOOL    rfc821_domains         = FALSE;  <<< on the way out */
        .running_in_test_harness = FALSE,
 
        .search_find_defer      = FALSE,
@@ -325,7 +324,6 @@ struct global_flags f =
        .sender_local           = FALSE,
        .sender_name_forced     = FALSE,
        .sender_set_untrusted   = FALSE,
-/* BOOL    sender_verified_responded = FALSE; /* never used? */
        .smtp_authenticated     = FALSE,
        .smtp_in_pipelining_advertised = FALSE,
        .smtp_in_pipelining_used = FALSE,
index 47e742b751923406eb6176894222ea60c102fbe1..5dcbaa40f9005d89f123caf42bd503bbb859d6a8 100644 (file)
@@ -338,17 +338,16 @@ while(!done)
     if ( ((c == '\t') || (c == ' ')) && (header_value_mode == 1) )
       continue;
 
-      /* we have hit a non-whitespace char, start copying value data */
-      header_value_mode = 2;
+    /* we have hit a non-whitespace char, start copying value data */
+    header_value_mode = 2;
 
-      if (c == '"')       /* flip "quoted" mode */
-        header_value_mode = header_value_mode==2 ? 3 : 2;
+    if (c == '"')       /* flip "quoted" mode */
+      header_value_mode = header_value_mode==2 ? 3 : 2;
 
-      /* leave value mode on unquoted ';' */
-      if (header_value_mode == 2 && c == ';') {
-        header_value_mode = 0;
-      };
-      /* -------------------------------- */
+    /* leave value mode on unquoted ';' */
+    if (header_value_mode == 2 && c == ';')
+      header_value_mode = 0;
+    /* -------------------------------- */
     }
   else
     {
index a040c33108a572fa13091f6627f07632fc68a234..0a2f12656758b5eb87c89cd8c80ef0fbe9e7ac49 100644 (file)
@@ -888,16 +888,17 @@ for (i = 0; i < 3; i++)
         for (;; addr = addr->next)
           {
           setflag(addr, af_retry_timedout);
-          addr->message = (addr->message == NULL)? US"retry timeout exceeded" :
-            string_sprintf("%s: retry timeout exceeded", addr->message);
-          addr->user_message = (addr->user_message == NULL)?
-            US"retry timeout exceeded" :
-            string_sprintf("%s: retry timeout exceeded", addr->user_message);
+          addr->message = addr->message
+            ? string_sprintf("%s: retry timeout exceeded", addr->message)
+           : US"retry timeout exceeded";
+          addr->user_message = addr->user_message
+           ? string_sprintf("%s: retry timeout exceeded", addr->user_message)
+           : US"retry timeout exceeded";
           log_write(0, LOG_MAIN, "** %s%s%s%s: retry timeout exceeded",
             addr->address,
-           (addr->parent == NULL)? US"" : US" <",
-           (addr->parent == NULL)? US"" : addr->parent->address,
-           (addr->parent == NULL)? US"" : US">");
+            addr->parent ? US" <" : US"",
+            addr->parent ? addr->parent->address : US"",
+            addr->parent ? US">" : US"");
 
           if (addr == endaddr) break;
           }
index 7f81e65585afbfa75161a4ee6643c39ed22beca0..f08b55adcdf7f0608b278ef0475076705f81cf39 100644 (file)
@@ -109,8 +109,9 @@ if (rblock->remove_headers)
       }
     else if (*s)
       g = string_append_listele(g, ':', s);
-    if (g)
-      *remove_headers = g->s;
+
+  if (g)
+    *remove_headers = g->s;
   }
 
 return OK;
index 55272a99a0ebbbbe153262cf6a391ddb841dbc43..cb6469811925754158b4a0358b9146e0ecfbd74e 100644 (file)
@@ -2367,6 +2367,7 @@ return done - 2;  /* Convert yield values */
 
 
 
+#ifdef SUPPORT_TLS
 static BOOL
 smtp_log_tls_fail(uschar * errstr)
 {
@@ -2378,6 +2379,7 @@ if (Ustrncmp(conn_info, US"SMTP ", 5) == 0) conn_info += 5;
 log_write(0, LOG_MAIN, "TLS error on %s %s", conn_info, errstr);
 return FALSE;
 }
+#endif
 
 
 
index b0d3ac9b05dbfd18ab70241d7f262cb657b76d71..9088fc6046a0f23d223ace6525961403d773145a 100644 (file)
@@ -72,9 +72,9 @@ switch(type)
 
   case tod_zulu:
     t = gmtime(&now.tv_sec);
-    (void) sprintf(CS timebuf, "%04d%02d%02d%02d%02d%02dZ",
-      1900 + t->tm_year, 1 + t->tm_mon, t->tm_mday, t->tm_hour, t->tm_min,
-      t->tm_sec);
+    (void) sprintf(CS timebuf, "%04u%02u%02u%02u%02u%02uZ",
+      1900 + (uint)t->tm_year, 1 + (uint)t->tm_mon, (uint)t->tm_mday, (uint)t->tm_hour, (uint)t->tm_min,
+      (uint)t->tm_sec);
     return timebuf;
   }
 
@@ -91,14 +91,15 @@ switch(type)
   case tod_log_bare:          /* Format used in logging without timezone */
 #ifndef COMPILE_UTILITY
     if (LOGGING(millisec))
-      sprintf(CS timebuf, "%04d-%02d-%02d %02d:%02d:%02d.%03d",
-      1900 + t->tm_year, 1 + t->tm_mon, t->tm_mday,
-      t->tm_hour, t->tm_min, t->tm_sec, (int)(now.tv_usec/1000));
+      sprintf(CS timebuf, "%04u-%02u-%02u %02u:%02u:%02u.%03u",
+       1900 + (uint)t->tm_year, 1 + (uint)t->tm_mon, (uint)t->tm_mday,
+       (uint)t->tm_hour, (uint)t->tm_min, (uint)t->tm_sec,
+       (uint)(now.tv_usec/1000));
     else
 #endif
-      sprintf(CS timebuf, "%04d-%02d-%02d %02d:%02d:%02d",
-      1900 + t->tm_year, 1 + t->tm_mon, t->tm_mday,
-      t->tm_hour, t->tm_min, t->tm_sec);
+      sprintf(CS timebuf, "%04u-%02u-%02u %02u:%02u:%02u",
+       1900 + (uint)t->tm_year, 1 + (uint)t->tm_mon, (uint)t->tm_mday,
+       (uint)t->tm_hour, (uint)t->tm_min, (uint)t->tm_sec);
 
     break;
 
@@ -108,20 +109,21 @@ switch(type)
 #ifdef TESTING_LOG_DATESTAMP
   case tod_log_datestamp_daily:
   case tod_log_datestamp_monthly:
-    sprintf(CS timebuf, "%04d%02d%02d%02d%02d",
-      1900 + t->tm_year, 1 + t->tm_mon, t->tm_mday, t->tm_hour, t->tm_min);
+    sprintf(CS timebuf, "%04u%02u%02u%02u%02u",
+      1900 + (uint)t->tm_year, 1 + (uint)t->tm_mon, (uint)t->tm_mday,
+      (uint)t->tm_hour, (uint)t->tm_min);
     break;
 
 #else
   case tod_log_datestamp_daily:
-    sprintf(CS timebuf, "%04d%02d%02d",
-      1900 + t->tm_year, 1 + t->tm_mon, t->tm_mday);
+    sprintf(CS timebuf, "%04u%02u%02u",
+      1900 + (uint)t->tm_year, 1 + (uint)t->tm_mon, (uint)t->tm_mday);
     break;
 
   case tod_log_datestamp_monthly:
 #ifndef COMPILE_UTILITY
-    sprintf(CS timebuf, "%04d%02d",
-      1900 + t->tm_year, 1 + t->tm_mon);
+    sprintf(CS timebuf, "%04u%02u",
+      1900 + (uint)t->tm_year, 1 + (uint)t->tm_mon);
 #endif
     break;
 #endif
@@ -169,16 +171,16 @@ switch(type)
 #ifndef COMPILE_UTILITY
          if (LOGGING(millisec))
            (void) sprintf(CS timebuf,
-             "%04d-%02d-%02d %02d:%02d:%02d.%03d %+03d%02d",
-             1900 + local.tm_year, 1 + local.tm_mon, local.tm_mday,
-             local.tm_hour, local.tm_min, local.tm_sec, (int)(now.tv_usec/1000),
+             "%04u-%02u-%02u %02u:%02u:%02u.%03u %+03d%02d",
+             1900 + (uint)local.tm_year, 1 + (uint)local.tm_mon, (uint)local.tm_mday,
+             (uint)local.tm_hour, (uint)local.tm_min, (uint)local.tm_sec, (uint)(now.tv_usec/1000),
              diff_hour, diff_min);
          else
 #endif
            (void) sprintf(CS timebuf,
-             "%04d-%02d-%02d %02d:%02d:%02d %+03d%02d",
-             1900 + local.tm_year, 1 + local.tm_mon, local.tm_mday,
-             local.tm_hour, local.tm_min, local.tm_sec,
+             "%04u-%02u-%02u %02u:%02u:%02u %+03d%02d",
+             1900 + (uint)local.tm_year, 1 + (uint)local.tm_mon, (uint)local.tm_mday,
+             (uint)local.tm_hour, (uint)local.tm_min, (uint)local.tm_sec,
              diff_hour, diff_min);
          break;
 
@@ -192,7 +194,7 @@ switch(type)
        case tod_mbx:
            {
            int len;
-           (void) sprintf(CS timebuf, "%02d-", local.tm_mday);
+           (void) sprintf(CS timebuf, "%02u-", (uint)local.tm_mday);
            len = Ustrlen(timebuf);
            len += Ustrftime(timebuf + len, sizeof(timebuf) - len, "%b-%Y %H:%M:%S",
              &local);
@@ -207,7 +209,7 @@ switch(type)
        default:
            {
            int len = Ustrftime(timebuf, sizeof(timebuf), "%a, ", &local);
-           (void) sprintf(CS timebuf + len, "%02d ", local.tm_mday);
+           (void) sprintf(CS timebuf + len, "%02u ", (uint)local.tm_mday);
            len += Ustrlen(timebuf + len);
            len += Ustrftime(timebuf + len, sizeof(timebuf) - len, "%b %Y %H:%M:%S",
              &local);
index 703ee563a735761eda3fbcc304acc17ef7201194..aac47aa5a1fbfe6e015fc7fc64adb4926a274a2d 100644 (file)
@@ -3638,7 +3638,9 @@ if (sx.completed_addr && sx.ok && sx.send_quit)
 
     if (sx.ok)
       {
+#ifdef SUPPORT_TLS
       int pfd[2];
+#endif
       int socket_fd = sx.cctx.sock;