-/* $Id: main.c,v 1.123 2005-01-21 13:23:25 adam Exp $
+/* $Id: main.c,v 1.125 2005-06-14 20:28:54 adam Exp $
Copyright (C) 1995-2005
Index Data ApS
#include <assert.h>
#ifdef WIN32
#include <io.h>
-#else
+#endif
+#if HAVE_UNISTD_H
#include <unistd.h>
+#endif
+#if HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
#include <time.h>
int trans_started=0;
#if HAVE_SYS_TIMES_H
struct tms tms1, tms2;
- struct timeval start_time, end_time;
double usec;
#endif
+#if HAVE_SYS_TIME_H
+ struct timeval start_time, end_time;
+#endif
#ifndef WIN32
char nbuf[100];
#endif
#endif
#if HAVE_SYS_TIMES_H
times(&tms1);
+#endif
+#if HAVE_SYS_TIME_H
gettimeofday(&start_time, 0);
#endif
prog = *argv;
);
exit (1);
}
- while ((ret = options ("sVt:c:g:d:m:v:nf:l:L"
- , argv, argc, &arg)) != -2)
+ while ((ret = options("sVt:c:g:d:m:v:nf:l:L", argv, argc, &arg)) != -2)
{
if (ret == 0)
{
zebra_shadow_enable (zh, enable_commit);
}
- if (database && zebra_select_database (zh, database))
+ if (database &&
+ zebra_select_database (zh, database) == ZEBRA_FAIL)
{
- yaz_log(YLOG_FATAL, "Could not select database %s errCode=%d",
+ yaz_log(YLOG_FATAL, "Could not select database %s "
+ "errCode=%d",
database, zebra_errCode(zh) );
exit (1);
}
}
else
{
+ ZEBRA_RES res = ZEBRA_OK;
if (!trans_started)
{
trans_started=1;
- if (zebra_begin_trans (zh, 1))
+ if (zebra_begin_trans (zh, 1) != ZEBRA_OK)
exit(1);
}
switch (cmd)
{
case 'u':
- zebra_repository_update (zh, arg);
+ res = zebra_repository_update (zh, arg);
break;
case 'd':
- zebra_repository_delete (zh, arg);
+ res = zebra_repository_delete (zh, arg);
break;
case 's':
- zebra_repository_show (zh, arg);
+ res = zebra_repository_show (zh, arg);
nsections = 0;
break;
case 'C':
- zebra_create_database(zh, arg);
+ res = zebra_create_database(zh, arg);
break;
case 'D':
- zebra_drop_database(zh, arg);
+ res = zebra_drop_database(zh, arg);
break;
default:
nsections = 0;
}
+ if (res != ZEBRA_OK)
+ {
+ yaz_log(YLOG_WARN, "Operation failed");
+ exit(1);
+ }
log_event_end (NULL, NULL);
}
}
zebra_close (zh);
zebra_stop (zs);
#if HAVE_SYS_TIMES_H
+#if HAVE_SYS_TIME_H
if (trans_started)
{
gettimeofday(&end_time, 0);
(double) (tms2.tms_stime - tms1.tms_stime)/100);
}
#endif
+#endif
nmem_exit();
exit (0);
return 0;