TDB: quieten compiler and testsuite
[exim.git] / src / src / exim_dbmbuild.c
index 327b46fd7115825928edb5664338a9e37670b973..73ca10e90157134f0edf7550b62af69dcb9a8301 100644 (file)
@@ -3,6 +3,7 @@
 *************************************************/
 
 /* Copyright (c) University of Cambridge 1995 - 2018 */
+/* Copyright (c) The Exim Maintainers 2020 - 2021 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 
@@ -34,11 +35,17 @@ uschar * spool_directory = NULL;    /* dummy for dbstuff.h */
 
 /******************************************************************************/
                                        /* dummies needed by Solaris build */
+void
+millisleep(int msec)
+{}
+uschar *
+readconf_printtime(int t)
+{ return NULL; }
 void *
-store_get_3(int size, BOOL tainted, const char *filename, int linenumber)
+store_get_3(int size, const void * proto_mem, const char *filename, int linenumber)
 { return NULL; }
 void **
-store_reset_3(void **ptr, int pool, const char *filename, int linenumber)
+store_reset_3(void **ptr, const char *filename, int linenumber)
 { return NULL; }
 void
 store_release_above_3(void *ptr, const char *func, int linenumber)
@@ -47,6 +54,32 @@ gstring *
 string_vformat_trc(gstring * g, const uschar * func, unsigned line,
   unsigned size_limit, unsigned flags, const char *format, va_list ap)
 { return NULL; }
+uschar *
+string_sprintf_trc(const char * a, const uschar * b, unsigned c, ...)
+{ return NULL; }
+BOOL
+string_format_trc(uschar * buf, int len, const uschar * func, unsigned line,
+  const char * fmt, ...)
+{ return FALSE; }
+void
+log_write(unsigned int selector, int flags, const char *format, ...)
+{ }
+
+
+struct global_flags    f;
+unsigned int           log_selector[1];
+uschar *               queue_name;
+BOOL                   split_spool_directory;
+
+
+/* These introduced by the taintwarn handling */
+rmark
+store_mark_3(const char *func, int linenumber)
+{ return NULL; }
+#ifdef ALLOW_INSECURE_TAINTED_DATA
+BOOL    allow_insecure_tainted_data;
+#endif
+
 /******************************************************************************/
 
 
@@ -79,14 +112,14 @@ exists" when you try to open a db file. The API changed at release 4.3. */
 
 #if defined(USE_DB) && defined(DB_VERSION_STRING)
 void
-#if DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 3)
+# if DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 3)
 dbfn_bdb_error_callback(const DB_ENV *dbenv, const char *pfx, const char *msg)
 {
 dbenv = dbenv;
-#else
+# else
 dbfn_bdb_error_callback(const char *pfx, char *msg)
 {
-#endif
+# endif
 pfx = pfx;
 printf("Berkeley DB error: %s\n", msg);
 }
@@ -112,6 +145,7 @@ string_interpret_escape(const uschar **pp)
 int ch;
 const uschar *p = *pp;
 ch = *(++p);
+if (ch == '\0') return **pp;
 if (isdigit(ch) && ch != '8' && ch != '9')
   {
   ch -= '0';
@@ -192,14 +226,12 @@ if (argc != 3)
   exit(1);
   }
 
-if (Ustrcmp(argv[arg], "-") == 0) f = stdin; else
+if (Ustrcmp(argv[arg], "-") == 0)
+  f = stdin;
+else if (!(f = fopen(argv[arg], "rb")))
   {
-  f = fopen(argv[arg], "rb");
-  if (f == NULL)
-    {
-    printf("exim_dbmbuild: unable to open %s: %s\n", argv[arg], strerror(errno));
-    exit(1);
-    }
+  printf("exim_dbmbuild: unable to open %s: %s\n", argv[arg], strerror(errno));
+  exit(1);
   }
 
 /* By default Berkeley db does not put extensions on... which
@@ -316,7 +348,7 @@ while (Ufgets(line, max_insize, f) != NULL)
     if (started)
       {
       EXIM_DATUM_INIT(content);
-      EXIM_DATUM_DATA(content) = CS buffer;
+      EXIM_DATUM_DATA(content) = (void *) buffer;
       EXIM_DATUM_SIZE(content) = bptr - buffer + add_zero;
 
       switch(rc = EXIM_DBPUTB(d, key, content))
@@ -343,7 +375,7 @@ while (Ufgets(line, max_insize, f) != NULL)
       }
 
     EXIM_DATUM_INIT(key);
-    EXIM_DATUM_DATA(key) = CS keybuffer;
+    EXIM_DATUM_DATA(key) = (void *) keybuffer;
 
     /* Deal with quoted keys. Escape sequences always make one character
     out of several, so we can re-build in place. */
@@ -406,7 +438,7 @@ if (started)
   {
   int rc;
   EXIM_DATUM_INIT(content);
-  EXIM_DATUM_DATA(content) = CS buffer;
+  EXIM_DATUM_DATA(content) = (void *) buffer;
   EXIM_DATUM_SIZE(content) = bptr - buffer + add_zero;
 
   switch(rc = EXIM_DBPUTB(d, key, content))