X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzebraidx.c;h=6048aea08d609db02ee4a097613167e52a561fae;hb=404739981f08f588c670e3fc272c547bde5ac5ae;hp=804a7e821677728ac9b5c29bf92c422866f8653b;hpb=c19bdb08393eb7b97f7783cb576f223b4fc505ed;p=idzebra-moved-to-github.git diff --git a/index/zebraidx.c b/index/zebraidx.c index 804a7e8..6048aea 100644 --- a/index/zebraidx.c +++ b/index/zebraidx.c @@ -1,8 +1,5 @@ -/* $Id: zebraidx.c,v 1.10 2007-11-08 09:30:05 adam Exp $ - Copyright (C) 1995-2007 - Index Data ApS - -This file is part of the Zebra server. +/* This file is part of the Zebra server. + Copyright (C) 1994-2009 Index Data Zebra is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free @@ -31,7 +28,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include #endif -#if HAVE_ICU +#if YAZ_HAVE_ICU #include #endif #include @@ -75,6 +72,8 @@ int main(int argc, char **argv) sprintf(nbuf, "%.40s(%ld)", *argv, (long) getpid()); yaz_log_init_prefix(nbuf); #endif + /* For indexing driver support */ + char *useIndexDriver = NULL; prog = *argv; if (argc < 2) { @@ -99,13 +98,14 @@ int main(int argc, char **argv) " -l Write log to .\n" " -L Don't follow symbolic links.\n" " -f Display information for the first records.\n" + " -i Select which index driver to use.\n" " -V Show version.\n", *argv ); exit(1); } res_set(default_res, "profilePath", DEFAULT_PROFILE_PATH); res_set(default_res, "modulePath", DEFAULT_MODULE_PATH); - 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:i:", argv, argc, &arg)) != -2) { if (ret == 0) { @@ -142,6 +142,8 @@ int main(int argc, char **argv) cmd = 's'; else if (!strcmp(arg, "del") || !strcmp(arg, "delete")) cmd = 'd'; + else if (!strcmp(arg, "adelete")) + cmd = 'a'; else if (!strcmp(arg, "init")) { zebra_init(zh); @@ -196,10 +198,13 @@ int main(int argc, char **argv) switch (cmd) { case 'u': - res = zebra_repository_update(zh, arg); + res = zebra_repository_index(zh, arg, action_update, useIndexDriver); break; case 'd': - res = zebra_repository_delete(zh, arg); + res = zebra_repository_index(zh, arg, action_delete, useIndexDriver); + break; + case 'a': + res = zebra_repository_index(zh, arg, action_a_delete, useIndexDriver); break; case 's': res = zebra_repository_show(zh, arg); @@ -239,18 +244,20 @@ int main(int argc, char **argv) zebra_get_version(version_str, sys_str); printf("Zebra %s\n", version_str); - printf("(C) 1994-2007, Index Data ApS\n"); + printf("(C) 1994-2009, Index Data ApS\n"); printf("Zebra is free software, covered by the GNU General Public License, and you are\n"); printf("welcome to change it and/or distribute copies of it under certain conditions.\n"); - printf("Configured as: %s\n", sys_str); + printf("SHA1 ID: %s\n", sys_str); if (strcmp(version_str, ZEBRAVER)) printf("zebraidx compiled version %s\n", ZEBRAVER); -#if HAVE_ICU +#if YAZ_HAVE_ICU printf("Using ICU\n"); #endif } else if (ret == 'v') yaz_log_init_level(yaz_log_mask_str(arg)); + else if (ret == 'i') + useIndexDriver = arg; else if (ret == 'l') yaz_log_init_file(arg); else if (ret == 'm') @@ -291,6 +298,7 @@ int main(int argc, char **argv) /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab