Use HAVE_UNISTD_H when including unistd.h.
[idzebra-moved-to-github.git] / index / main.c
index c435b21..071e1ec 100644 (file)
@@ -1,4 +1,4 @@
-/* $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
 
@@ -26,8 +26,11 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 #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>
@@ -65,9 +68,11 @@ int main (int argc, char **argv)
     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
@@ -83,6 +88,8 @@ int main (int argc, char **argv)
 #endif
 #if HAVE_SYS_TIMES_H
     times(&tms1);
+#endif
+#if HAVE_SYS_TIME_H
     gettimeofday(&start_time, 0);
 #endif
     prog = *argv;
@@ -113,8 +120,7 @@ int main (int argc, char **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)
         {
@@ -135,9 +141,11 @@ int main (int argc, char **argv)
                    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);
                }
@@ -195,33 +203,39 @@ int main (int argc, char **argv)
             }
            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);
             }
         }
@@ -272,6 +286,7 @@ int main (int argc, char **argv)
     zebra_close (zh);
     zebra_stop (zs);
 #if HAVE_SYS_TIMES_H
+#if HAVE_SYS_TIME_H
     if (trans_started)
     {
         gettimeofday(&end_time, 0);
@@ -284,6 +299,7 @@ int main (int argc, char **argv)
                (double) (tms2.tms_stime - tms1.tms_stime)/100);
     }
 #endif
+#endif
     nmem_exit();
     exit (0);
     return 0;