X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=bfile%2Fbfile.c;h=ab5fa6cb26d960b4038e055b34287f478e0c51b7;hb=2cd05dfd682c368fd3bd73912144344d2954325f;hp=facec01ef09c48fb7c1a32342f9178e7c2a4c4c4;hpb=deff57cfa9d9b39c4a4f1c9b82a64c6e61d821a4;p=idzebra-moved-to-github.git diff --git a/bfile/bfile.c b/bfile/bfile.c index facec01..ab5fa6c 100644 --- a/bfile/bfile.c +++ b/bfile/bfile.c @@ -1,4 +1,4 @@ -/* $Id: bfile.c,v 1.40 2005-03-30 09:25:23 adam Exp $ +/* $Id: bfile.c,v 1.43 2005-05-17 08:50:48 adam Exp $ Copyright (C) 1995-2005 Index Data ApS @@ -30,6 +30,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #endif +#include #include #include #include "mfile.h" @@ -98,11 +99,11 @@ static void unlink_cache (BFiles bfs) 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) @@ -113,9 +114,15 @@ void bf_cache (BFiles bfs, const char *spec) 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) @@ -211,8 +218,8 @@ int bf_xclose (BFile bf, int version, const char *more_info) { 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);