* Sebastian Hammer, Adam Dickmeiss
*
* $Log: main.c,v $
- * Revision 1.73 1999-11-30 13:48:03 adam
+ * Revision 1.79 2001-10-01 08:56:58 adam
+ * For UNIX process ID is logged.
+ *
+ * Revision 1.78 2000/10/17 12:37:09 adam
+ * Fixed notification of live-updates. Fixed minor problem with mf_init
+ * where it didn't handle shadow area file names correctly.
+ *
+ * Revision 1.77 2000/09/05 14:04:05 adam
+ * Updates for prefix 'yaz_' for YAZ log functions.
+ *
+ * Revision 1.76 2000/03/20 19:08:36 adam
+ * Added remote record import using Z39.50 extended services and Segment
+ * Requests.
+ *
+ * Revision 1.75 1999/12/08 22:44:45 adam
+ * Zebra/Z'mbol dependencies added.
+ *
+ * Revision 1.74 1999/12/08 15:03:11 adam
+ * Implemented bf_reset.
+ *
+ *
+ * Revision 1.73 1999/11/30 13:48:03 adam
* Improved installation. Updated for inclusion of YAZ header files.
*
* Revision 1.72 1999/10/14 14:33:50 adam
*
*/
#include <stdio.h>
+#include <string.h>
#include <assert.h>
#ifdef WIN32
#include <io.h>
Res common_resource = 0;
+
int main (int argc, char **argv)
{
int ret;
int nsections = 0;
int disableCommit = 0;
size_t mem_max = 0;
-
+ char nbuf[100];
struct recordGroup rGroupDef;
nmem_init ();
+#ifdef WIN32
+#else
+ sprintf(nbuf, "%.40s(%d)", *argv, getpid());
+ yaz_log_init_prefix (nbuf);
+#endif
+
#if ZEBRASDR
zebraSdr_std ();
rGroupDef.useSDR = 0;
prog = *argv;
if (argc < 2)
{
- fprintf (stderr, "zebraidx [options] command <dir> ...\n"
+ fprintf (stderr, "%s [options] command <dir> ...\n"
"Commands:\n"
" update <dir> Update index with files below <dir>.\n"
" If <dir> is empty filenames are read from stdin.\n"
#if ZEBRASDR
" -S Use SDRKit\n"
#endif
- " -V Show version.\n"
+ " -V Show version.\n", *argv
);
exit (1);
}
{
if (!common_resource)
{
+#if ZMBOL
+ logf (LOG_LOG, "zmbol version %s %s",
+ ZEBRAVER, ZEBRADATE);
+#else
logf (LOG_LOG, "zebra version %s %s",
ZEBRAVER, ZEBRADATE);
+#endif
common_resource = res_open (configName ?
configName : FNAME_CONFIG);
if (!common_resource)
cmd = 's';
else if (!strcmp (arg, "del") || !strcmp(arg, "delete"))
cmd = 'd';
+ else if (!strcmp (arg, "init"))
+ {
+ zebraIndexUnlock();
+ rval = res_get (common_resource, "shadow");
+ zebraIndexLock (rGroupDef.bfs, 0, rval);
+ if (rval && *rval)
+ bf_cache (rGroupDef.bfs, rval);
+ zebraIndexLockMsg ("w");
+ bf_reset (rGroupDef.bfs);
+ }
else if (!strcmp (arg, "commit"))
{
rval = res_get (common_resource, "shadow");
bf_commitClean (rGroupDef.bfs, rval);
}
else
- logf (LOG_LOG, "cothing to commit");
+ logf (LOG_LOG, "nothing to commit");
}
else if (!strcmp (arg, "clean"))
{
else
{
struct recordGroup rGroup;
-
+#if ZMBOL
+#else
+ /* For zebra, delete lock file and reset register */
+ if (rGroupDef.flagRw)
+ {
+ zebraIndexUnlock();
+ bf_reset (rGroupDef.bfs);
+ }
+#endif
rval = res_get (common_resource, "shadow");
zebraIndexLock (rGroupDef.bfs, 0, rval);
if (rGroupDef.flagRw)
if (nsections)
{
logf (LOG_LOG, "merging with index");
- key_input (rGroup.bfs, nsections, 60);
+ key_input (rGroup.bfs, nsections, 60, common_resource);
#ifndef WIN32
sync ();
#endif
}
else if (ret == 'V')
{
+#if ZMBOL
+ fprintf (stderr, "Z'mbol %s %s\n", ZEBRAVER, ZEBRADATE);
+#else
fprintf (stderr, "Zebra %s %s\n", ZEBRAVER, ZEBRADATE);
+#endif
fprintf (stderr, " (C) 1994-1999, Index Data ApS\n");
#ifdef WIN32
#ifdef _DEBUG
#endif
}
else if (ret == 'v')
- log_init_level (log_mask_str(arg));
+ yaz_log_init_level (yaz_log_mask_str(arg));
else if (ret == 'l')
- log_init_file (arg);
+ yaz_log_init_file (arg);
else if (ret == 'm')
mem_max = 1024*1024*atoi(arg);
else if (ret == 'd')