-/* $Id: tstbfile2.c,v 1.1 2006-11-08 12:59:27 adam Exp $
- Copyright (C) 1995-2006
- Index Data ApS
-
-This file is part of the Zebra server.
+/* This file is part of the Zebra server.
+ Copyright (C) 1994-2011 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
bf_reset(bfs);
+#if 1
+ /* we have to destroy bfs after reset. Unfortunately! */
+ bfs_destroy(bfs);
+
+ bfs = bfs_create("register:4M", 0 /* base: current dir */);
+ YAZ_CHECK(bfs);
+ if (!bfs)
+ return;
+
+ r = bf_cache(bfs, "shadow:4M");
+ YAZ_CHECK_EQ(r, ZEBRA_OK);
+#endif
+
+ yaz_log(YLOG_LOG, "writing file 1");
bf = bf_open(bfs, "file", block_size, 1);
YAZ_CHECK(bf);
if (bf)
{
zint bno[2];
- memset(buf, '\0', block_size);
+ memset(buf, ' ', block_size);
bno[0] = 0;
bno[1] = 1;
bf_close(bf);
}
+ yaz_log(YLOG_LOG, "reading file 1");
bf = bf_open(bfs, "file", block_size, 0);
YAZ_CHECK(bf);
if (bf)
while (bno[0] < max_block)
{
zint next = bno[0] + bno[1];
- memset(buf, '\0', block_size);
+ memset(buf, ' ', block_size);
YAZ_CHECK_EQ(bf_read(bf, bno[0], 0, 0, buf), 1);
YAZ_CHECK_EQ(atoi(buf), bno[0]);
}
#if 1
+ yaz_log(YLOG_LOG, "writing file 2");
bf = bf_open(bfs, "file", block_size, 1);
YAZ_CHECK(bf);
if (bf)
zint bno = 0;
while (bno < max_block)
{
- memset(buf, '\0', block_size);
+ memset(buf, ' ', block_size);
sprintf(buf, ZINT_FORMAT, bno);
YAZ_CHECK_EQ(bf_write(bf, bno, 0, 0, buf), 0);
bf_close(bf);
}
+ yaz_log(YLOG_LOG, "reading file 2");
bf = bf_open(bfs, "file", block_size, 0);
YAZ_CHECK(bf);
if (bf)
{
zint bno = 0;
+ int step = max_block / 50;
+
while (bno < max_block)
{
- memset(buf, '\0', block_size);
+ memset(buf, ' ', block_size);
YAZ_CHECK_EQ(bf_read(bf, bno, 0, 0, buf), 1);
YAZ_CHECK_EQ(atoi(buf), bno);
- bno = bno + 2;
+ bno = bno + 2*step;
}
bf_close(bf);
}
int main(int argc, char **argv)
{
YAZ_CHECK_INIT(argc, argv);
+ YAZ_CHECK_LOG();
tst();
YAZ_CHECK_TERM;
}