-/* $Id: zebrash.c,v 1.25 2004-01-22 11:27:21 adam Exp $
+/* $Id: zebrash.c,v 1.29 2004-08-25 09:23:36 adam Exp $
Copyright (C) 2002,2003,2004
Index Data Aps
#include <readline/history.h>
#endif
-#include "zebraapi.h"
+#include <idzebra/api.h>
#include <yaz/log.h>
#include <yaz/proto.h>
#include <yaz/sortspec.h>
+#include <yaz/options.h>
#include <yaz/wrbuf.h>
#define MAX_NO_ARGS 32
ZebraHandle zh=0; /* the current session */
/* time being, only one session works */
int nextrecno=1; /* record number to show next */
+static char *default_config = DEFAULTCONFIG;
/**************************************
* Help functions
{
char *conf=args[1];
if (!conf || !*conf) {
- wrbuf_puts(outbuff,"no config file specified, using "
- DEFAULTCONFIG "\n" );
- conf=DEFAULTCONFIG;
+ wrbuf_puts(outbuff,"no config file specified, using ");
+ wrbuf_puts(outbuff, default_config);
+ wrbuf_puts(outbuff, "\n");
+ conf=default_config;
}
- zs=zebra_start(conf, 0, 0);
+ zs=zebra_start(conf);
if (!zs) {
wrbuf_puts(outbuff, "zebra_start failed" );
return 2;
static int cmd_record_insert( char *args[], WRBUF outbuff)
{
- int sysno=0;
+ SYSNO sysno=0;
int rc;
char *rec=restargs(args,1);
0, /* match */
0, /* fname */
rec,
- strlen(rec));
+ strlen(rec),
+ 0);
if (0==rc)
{
wrbuf_printf(outbuff,"ok sysno=%d\n",sysno);
} /* shell() */
+static void usage()
+{
+ printf ("usage:\n");
+ printf ("zebrash [-c config]\n");
+ exit(1);
+}
/**************************************
* Main
*/
-
-int main (int argc, char ** args)
+
+int main (int argc, char ** argv)
{
+ int ret;
+ char *arg = 0;
+ while ((ret = options ("c:h", argv, argc, &arg)) != -2)
+ {
+ switch(ret)
+ {
+ case 'c':
+ default_config = arg;
+ break;
+ case 'h':
+ usage();
+ default:
+ fprintf(stderr, "bad option %s\n", arg);
+ usage();
+ }
+ }
shell();
return 0;
} /* main */