From fa2e85c18627b18737723d91e08c752d9931f589 Mon Sep 17 00:00:00 2001 From: Sebastian Hammer Date: Wed, 6 Dec 1995 14:48:26 +0000 Subject: [PATCH] Fixed some strange bugs. --- isam/isam.c | 7 ++++--- isam/memory.c | 8 ++++++-- isam/physical.c | 6 +++++- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/isam/isam.c b/isam/isam.c index e669e9c..6beb3dc 100644 --- a/isam/isam.c +++ b/isam/isam.c @@ -4,7 +4,10 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: isam.c,v $ - * Revision 1.15 1995-12-06 09:59:45 quinn + * Revision 1.16 1995-12-06 14:48:26 quinn + * Fixed some strange bugs. + * + * Revision 1.15 1995/12/06 09:59:45 quinn * Fixed memory-consumption bug in memory.c * Added more blocksizes to the default ISAM configuration. * @@ -467,13 +470,11 @@ void is_pt_free(ISPT ip) */ int is_readkey(ISPT ip, void *buf) { -fprintf(stderr, "XXReadkey.\n"); return is_m_read_record(&ip->tab, buf); } int is_numkeys(ISPT ip) { -fprintf(stderr, "XXNumkeys.\n"); return is_m_num_records(&ip->tab); } diff --git a/isam/memory.c b/isam/memory.c index cd90dcb..475b5fc 100644 --- a/isam/memory.c +++ b/isam/memory.c @@ -4,7 +4,10 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: memory.c,v $ - * Revision 1.7 1995-12-06 09:59:46 quinn + * Revision 1.8 1995-12-06 14:48:27 quinn + * Fixed some strange bugs. + * + * Revision 1.7 1995/12/06 09:59:46 quinn * Fixed memory-consumption bug in memory.c * Added more blocksizes to the default ISAM configuration. * @@ -347,7 +350,8 @@ int is_m_read_record(is_mtable *tab, void *buf) { if (!mbuf->next) /* end of mblock */ { - if (tab->cur_mblock->state == IS_MBSTATE_CLEAN) + if (tab->cur_mblock->state == IS_MBSTATE_CLEAN && + tab->cur_mblock->diskpos > 0) { xfree_mbufs(tab->cur_mblock->data); tab->cur_mblock->data = 0; diff --git a/isam/physical.c b/isam/physical.c index e02598e..9dccb47 100644 --- a/isam/physical.c +++ b/isam/physical.c @@ -4,7 +4,10 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: physical.c,v $ - * Revision 1.6 1995-09-04 12:33:47 adam + * Revision 1.7 1995-12-06 14:48:27 quinn + * Fixed some strange bugs. + * + * Revision 1.6 1995/09/04 12:33:47 adam * Various cleanup. YAZ util used instead. * * Revision 1.5 1994/09/28 11:29:33 quinn @@ -148,6 +151,7 @@ int is_p_read_full(is_mtable *tab, is_mblock *block) dread += toread; block->bread += toread * is_keysize(tab->is); } + block->state = IS_MBSTATE_CLEAN; } logf (LOG_DEBUG, "R: Block #%d contains %d records.", block->diskpos, block->num_records); return 0; -- 1.7.10.4