Merge branches 'idx/verh' and 'idx/qmqpc'
[qmail] / qmail-qmqpc.c
index d5adf05..88de856 100644 (file)
@@ -135,25 +135,36 @@ char *server;
 
 stralloc servers = {0};
 
-main()
+main(argc,argv)
+int argc;
+char **argv;
 {
   int i;
   int j;
 
   sig_pipeignore();
 
-  if (chdir(auto_qmail) == -1) die_home();
-  if (control_init() == -1) die_control();
-  if (control_readfile(&servers,"control/qmqpservers",0) != 1) die_control();
+  if (!argv[1]) {              /* std behavior */
+    if (chdir(auto_qmail) == -1) die_home();
+    if (control_init() == -1) die_control();
+    if (control_readfile(&servers,"control/qmqpservers",0) != 1) die_control();
 
-  getmess();
+    getmess();
 
-  i = 0;
-  for (j = 0;j < servers.len;++j)
-    if (!servers.s[j]) {
-      doit(servers.s + i);
-      i = j + 1;
-    }
+    i = 0;
+    for (j = 0;j < servers.len;++j)
+      if (!servers.s[j]) {
+       doit(servers.s + i);
+       i = j + 1;
+      }
+  } else {                     /* servers on cmd line */
+
+    getmess();
+
+    i = 1;
+    while (argv[i])
+      doit(argv[i++]);
+  }
 
   _exit(lasterror);
 }