X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=isam%2Fmemory.c;h=034f6d4eb751585987c5a21b0f6553e673c029a8;hb=d1eb772bc9be731951f571a0ba2040e59ce80598;hp=7962a0eb26fe7dae1832ea3995e4428a75a88d52;hpb=a5545de18b5d3762a1f29569a4b10ca5017506db;p=idzebra-moved-to-github.git diff --git a/isam/memory.c b/isam/memory.c index 7962a0e..034f6d4 100644 --- a/isam/memory.c +++ b/isam/memory.c @@ -4,7 +4,13 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: memory.c,v $ - * Revision 1.4 1994-09-27 20:03:52 quinn + * Revision 1.6 1995-09-04 12:33:47 adam + * Various cleanup. YAZ util used instead. + * + * Revision 1.5 1994/09/28 16:58:33 quinn + * Small mod. + * + * Revision 1.4 1994/09/27 20:03:52 quinn * Seems relatively bug-free. * * Revision 1.3 1994/09/26 17:11:30 quinn @@ -23,8 +29,9 @@ */ #include +#include -#include +#include #include int is_mbuf_size[3] = { 0, 1024, 4096 }; @@ -268,7 +275,7 @@ int is_m_write_record(is_mtable *tab, const void *rec) mbuf = tab->cur_mblock->cur_mbuf = mbuf->next; mbuf->cur_record = 0; } - log(LOG_DEBUG, "is_m_write_rec(rec == %d)", mbuf->cur_record); + logf (LOG_DEBUG, "is_m_write_rec(rec == %d)", mbuf->cur_record); memcpy(mbuf->data + mbuf->offset + mbuf->cur_record * is_keysize(tab->is), rec, is_keysize(tab->is)); mbuf->num++; @@ -378,3 +385,14 @@ int is_m_seek_record(is_mtable *tab, const void *rec) return 0; } } + +int is_m_num_records(is_mtable *tab) +{ + if (tab->data->state < IS_MBSTATE_PARTIAL) + if (read_current_full(tab, tab->data) < 0) + { + logf (LOG_FATAL, "read full failed"); + exit(1); + } + return tab->num_records; +}