-/* $Id: extract.c,v 1.152 2004-06-01 12:56:14 adam Exp $
+/* $Id: extract.c,v 1.153 2004-06-01 14:50:59 heikki Exp $
Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
Index Data Aps
if (zh->reg->key_buf_used + 1024 >
(zh->reg->ptr_top -zh->reg->ptr_i)*sizeof(char*))
extract_flushWriteKeys (zh,0);
- assert(zh->reg->ptr_i >= 0);
+ assert(zh->reg->ptr_i >= 0);
++(zh->reg->ptr_i);
- assert(zh->reg->ptr_i > 0);
+ assert(zh->reg->ptr_i > 0);
(zh->reg->key_buf)[zh->reg->ptr_top - zh->reg->ptr_i] =
(char*)zh->reg->key_buf + zh->reg->key_buf_used;
#if SU_SCHEME
-/* $Id: kinput.c,v 1.57 2004-01-22 15:40:25 heikki Exp $
+/* $Id: kinput.c,v 1.58 2004-06-01 14:50:59 heikki Exp $
Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002
Index Data Aps
static int heap_read_one_raw (struct heap_info *hi, char *name, char *key)
{
ZebraHandle zh=hi->zh;
- int ptr_i = zh->reg->ptr_i--;
+ int ptr_i = zh->reg->ptr_i;
char *cp;
if (!ptr_i)
return 0;
+ --(zh->reg->ptr_i);
cp=(zh->reg->key_buf)[zh->reg->ptr_top - ptr_i];
logf (LOG_DEBUG, " raw: i=%d top=%d cp=%p", ptr_i, zh->reg->ptr_top,cp);
strcpy(name, cp);
-/* $Id: isamb.c,v 1.31 2004-06-01 13:46:41 adam Exp $
+/* $Id: isamb.c,v 1.32 2004-06-01 14:51:00 heikki Exp $
Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
Index Data Aps
#include <assert.h>
#ifndef ISAMB_DEBUG
-#define ISAMB_DEBUG 0
+#define ISAMB_DEBUG 1
#endif
struct ISAMB_head {
(*pp->isamb->method->code_item)(ISAMC_DECODE, p->decodeClientData,
&dst, &src);
p->offset = src - (char*) p->bytes;
- key_logdump_txt(LOG_DEBUG,buf, "isamb_pp_read returning 1");
+ /* key_logdump_txt(LOG_DEBUG,buf, "isamb_pp_read returning 1"); */
return 1;
}
int item_len;
int pos;
int nxtpos;
+ int descending=0; /* used to prevent a border condition error */
if (!p)
return 0;
#if ISAMB_DEBUG
while (1)
{
- while ( p->offset == p->size)
+ while ( (p->offset == p->size) && !descending )
{ /* end of this block - climb higher */
#if ISAMB_DEBUG
logf(LOG_DEBUG,"isamb_pp_forward climbing from l=%d",
logf(LOG_DEBUG,"isambb_pp_forward descending l=%d p=%d ",
pp->level, pos);
#endif
+ descending=1; /* prevent climbing for a while */
++(pp->level);
p = open_block(pp->isamb,pos);
pp->block[pp->level] = p ;
-/* $Id: rsisamb.c,v 1.6 2004-06-01 12:32:19 heikki Exp $
+/* $Id: rsisamb.c,v 1.7 2004-06-01 14:51:00 heikki Exp $
Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002
Index Data Aps
key_logdump(LOG_DEBUG, buf);
i=isamb_pp_forward(pinfo->pt, buf, untilbuf);
+ logf (LOG_DEBUG, "rset_rsisamb_forward returning %d",i);
return i;
}