-/* $Id: bfile.c,v 1.40 2005-03-30 09:25:23 adam Exp $
+/* $Id: bfile.c,v 1.44 2005-06-14 20:28:53 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
+#include <yaz/xmalloc.h>
#include <idzebra/util.h>
#include <idzebra/bfile.h>
#include "mfile.h"
unlink (bfs->cache_fname);
}
-void bf_cache (BFiles bfs, const char *spec)
+ZEBRA_RES bf_cache (BFiles bfs, const char *spec)
{
if (spec)
{
- yaz_log (YLOG_LOG, "enabling cache spec=%s", spec);
+ yaz_log (YLOG_LOG, "enabling shadow spec=%s", spec);
if (!bfs->commit_area)
bfs->commit_area = mf_init ("shadow", spec, bfs->base);
if (bfs->commit_area)
strcat (bfs->cache_fname, "/cache");
yaz_log (YLOG_LOG, "cache_fname = %s", bfs->cache_fname);
}
+ else
+ {
+ yaz_log(YLOG_WARN, "shadow could not be enabled");
+ return ZEBRA_FAIL;
+ }
}
else
bfs->commit_area = NULL;
+ return ZEBRA_OK;
}
int bf_close (BFile bf)
{
if (bf->header_dirty)
{
- assert(bf->alloc_buf);
zint pos = 0;
+ assert(bf->alloc_buf);
assert(bf->magic);
sprintf(bf->alloc_buf, "%s %d " ZINT_FORMAT " " ZINT_FORMAT " ",
bf->magic, version, bf->last_block, bf->free_list);