X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=index%2Findex.h;h=432c757ab234eac90b2370566489793c096c9f65;hb=519fefb91135ad52134b9fc4e82b3874f5525a2b;hp=7d6e2b9343983a496b61dd4512041f296d6a10bc;hpb=4a617d48ef8d8516c83bf49fac1206b580ba537e;p=idzebra-moved-to-github.git diff --git a/index/index.h b/index/index.h index 7d6e2b9..432c757 100644 --- a/index/index.h +++ b/index/index.h @@ -1,4 +1,4 @@ -/* $Id: index.h,v 1.87 2002-09-03 11:44:54 adam Exp $ +/* $Id: index.h,v 1.89 2002-10-22 12:51:08 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 Index Data Aps @@ -43,7 +43,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include #define ISAM_DEFAULT "c" -#include +#include #include #include "recindex.h" #include "zebraapi.h" @@ -172,16 +172,22 @@ int key_SU_encode (int ch, char *out); // extern Res common_resource; +#define ENCODE_BUFLEN 768 struct encode_info { - int sysno; + int sysno; /* previously written values for delta-compress */ int seqno; int cmd; - char buf[768]; + int prevsys; /* buffer for skipping insert/delete pairs */ + int prevseq; + int prevcmd; + int keylen; /* tells if we have an unwritten key in buf, and how long*/ + char buf[ENCODE_BUFLEN]; }; void encode_key_init (struct encode_info *i); char *encode_key_int (int d, char *bp); void encode_key_write (char *k, struct encode_info *i, FILE *outf); +void encode_key_flush (struct encode_info *i, FILE *outf); typedef struct { char *term;