Fix sieve QP regression from Coverity cleanups
[exim.git] / src / src / macro_predef.c
index e133b8e1be9e4e048835ad79f30e206c0cc0a9b5..6b3157fbef7223fc9857787c6027b34bd7b1e34c 100644 (file)
@@ -25,15 +25,17 @@ builtin_macro_create(const uschar * name)
 {
 printf ("static macro_item p%d = { ", mp_index);
 if (mp_index == 0)
-  printf("NULL,");
+  printf(".next=NULL,");
 else
-  printf("&p%d,", mp_index-1);
+  printf(".next=&p%d,", mp_index-1);
 
-printf(" FALSE, %d, \"%s\", \"y\" };\n", Ustrlen(name), name);
+printf(" .command_line=FALSE, .namelen=%d, .replen=1,"
+       " .name=US\"%s\", .replacement=US\"y\" };\n",
+       Ustrlen(name), CS name);
 mp_index++;
 }
 
-static void
+void
 spf(uschar * buf, int len, const uschar * fmt, ...)
 {
 va_list ap;
@@ -73,9 +75,9 @@ expansion. */
 for (i = 0; i < nopt; i++)  if (*(s = US opts[i].name) && *s != '*')
   {
   if (group)
-    spf(buf, sizeof(buf), "_OPT_%T_%T_%T", section, group, s);
+    spf(buf, sizeof(buf), CUS"_OPT_%T_%T_%T", section, group, s);
   else
-    spf(buf, sizeof(buf), "_OPT_%T_%T", section, s);
+    spf(buf, sizeof(buf), CUS"_OPT_%T_%T", section, s);
   builtin_macro_create(buf);
   }
 }
@@ -273,4 +275,5 @@ options();
 
 printf("macro_item * macros = &p%d;\n", mp_index-1);
 printf("macro_item * mlast = &p0;\n");
+exit(0);
 }