Use term Windows rather than win32
[yaz-moved-to-github.git] / zoom / zoomsh.c
index 2416cfd..37f5452 100644 (file)
@@ -18,6 +18,7 @@
 #include <string.h>
 #include <yaz/wrbuf.h>
 #include <yaz/log.h>
+#include <yaz/backtrace.h>
 #include <yaz/options.h>
 
 #if HAVE_READLINE_READLINE_H
@@ -920,7 +921,10 @@ static int shell(struct zoom_sh *sh, int exit_on_error)
 #endif
         if (!line_in) /* no line buffer via readline or not enabled at all */
         {
-            printf("ZOOM>"); fflush(stdout);
+            if (isatty(0))
+            {
+                printf("ZOOM>"); fflush(stdout);
+            }
             if (!fgets(buf, sizeof(buf)-1, stdin))
             {
                 res = -1;
@@ -954,7 +958,7 @@ static int zoomsh(int argc, char **argv)
     {
         int mask;
         char *arg = 0;
-        int option_ret = options("ev:", argv, argc, &arg);
+        int option_ret = options("a:ev:", argv, argc, &arg);
         const char *bp = arg;
         switch (option_ret)
         {
@@ -967,6 +971,9 @@ static int zoomsh(int argc, char **argv)
         case YAZ_OPTIONS_EOF:
             res = shell(&sh, exit_on_error);
             break;
+        case 'a':
+            ZOOM_options_set(sh.options, "apdufile", arg);
+            break;
         case 'e':
             exit_on_error = 1;
             break;
@@ -975,7 +982,7 @@ static int zoomsh(int argc, char **argv)
             yaz_log_init_level(mask);
             break;
         default:
-            fprintf(stderr, "zoomsh: [-e] [-v] [commands]\n");
+            fprintf(stderr, "zoomsh: [-a apdulog] [-e] [-v level] [commands]\n");
             res = 1;
         }
     }
@@ -998,7 +1005,10 @@ static int zoomsh(int argc, char **argv)
 
 int main(int argc, char **argv)
 {
-    int ret = zoomsh(argc, argv);
+    int ret;
+
+    yaz_enable_panic_backtrace(*argv);
+    ret = zoomsh(argc, argv);
     exit(ret);
 }
 /*