projects
/
idzebra-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Link with Tcl 8.5
[idzebra-moved-to-github.git]
/
index
/
kinput.c
diff --git
a/index/kinput.c
b/index/kinput.c
index
8cd897f
..
851c13e
100644
(file)
--- a/
index/kinput.c
+++ b/
index/kinput.c
@@
-1,8
+1,5
@@
-/* $Id: kinput.c,v 1.88 2008-01-09 14:57:07 adam Exp $
- Copyright (C) 1995-2007
- 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
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
@@
-20,6
+17,9
@@
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
*/
+#if HAVE_CONFIG_H
+#include <config.h>
+#endif
#include <fcntl.h>
#ifdef WIN32
#include <io.h>
#include <fcntl.h>
#ifdef WIN32
#include <io.h>
@@
-36,8
+36,6
@@
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#define KEY_SIZE (1+sizeof(struct it_key))
#define INP_NAME_MAX 768
#define KEY_SIZE (1+sizeof(struct it_key))
#define INP_NAME_MAX 768
-#define INP_BUF_START 60000
-#define INP_BUF_ADD 400000
struct key_file {
int no; /* file no */
struct key_file {
int no; /* file no */
@@
-55,7
+53,12
@@
struct key_file {
Res res;
};
Res res;
};
-#if 0
+
+#define PR_KEY_LOW 0
+#define PR_KEY_TOP 0
+
+#if PR_KEY_LOW || PR_KEY_TOP
+
static void pkey(const char *b, int mode)
{
key_logdump_txt(YLOG_LOG, b, mode ? "i" : "d");
static void pkey(const char *b, int mode)
{
key_logdump_txt(YLOG_LOG, b, mode ? "i" : "d");
@@
-190,7
+193,7
@@
int key_file_read(struct key_file *f, char *key)
key[i++] = c;
while ((c = key_file_getc(f)))
{
key[i++] = c;
while ((c = key_file_getc(f)))
{
- if (i < IT_MAX_WORD)
+ if (i < INP_NAME_MAX-2)
key[i++] = c;
}
key[i++] = '\0';
key[i++] = c;
}
key[i++] = '\0';
@@
-325,6
+328,8
@@
static void key_heap_insert(struct heap_info *hi, const char *buf, int nbytes,
{
int cur, parent;
{
int cur, parent;
+ assert(nbytes < INP_NAME_MAX);
+
cur = ++(hi->heapnum);
memcpy(hi->info.buf[hi->ptr[cur]], buf, nbytes);
hi->info.file[hi->ptr[cur]] = kf;
cur = ++(hi->heapnum);
memcpy(hi->info.buf[hi->ptr[cur]], buf, nbytes);
hi->info.file[hi->ptr[cur]] = kf;
@@
-359,13
+364,11
@@
static int heap_read_one(struct heap_info *hi, char *name, char *key)
return 1;
}
return 1;
}
-#define PR_KEY_LOW 0
-#define PR_KEY_TOP 0
/* for debugging only */
void zebra_log_dict_entry(ZebraHandle zh, const char *s)
{
/* for debugging only */
void zebra_log_dict_entry(ZebraHandle zh, const char *s)
{
- char dst[IT_MAX_WORD+1];
+ char dst[INP_NAME_MAX+1];
int ord;
int len = key_SU_decode(&ord, (const unsigned char *) s);
const char *index_type;
int ord;
int len = key_SU_decode(&ord, (const unsigned char *) s);
const char *index_type;
@@
-420,7
+423,7
@@
int heap_cread_item2(void *vp, char **dst, int *insertMode)
p->look_level++;
}
memcpy(*dst, p->key_1, p->sz_1);
p->look_level++;
}
memcpy(*dst, p->key_1, p->sz_1);
-#if 0
+#if PR_KEY_TOP
yaz_log(YLOG_LOG, "DUP level=%d", p->look_level);
pkey(*dst, *insertMode);
#endif
yaz_log(YLOG_LOG, "DUP level=%d", p->look_level);
pkey(*dst, *insertMode);
#endif
@@
-495,7
+498,8
@@
int heap_cread_item2(void *vp, char **dst, int *insertMode)
}
p->look_level = level;
memcpy(*dst, p->key_1, p->sz_1);
}
p->look_level = level;
memcpy(*dst, p->key_1, p->sz_1);
-#if 0
+#if PR_KEY_TOP
+ yaz_log(YLOG_LOG, "TOP");
pkey(*dst, *insertMode);
#endif
(*dst) += p->sz_1;
pkey(*dst, *insertMode);
#endif
(*dst) += p->sz_1;
@@
-801,6
+805,7
@@
void zebra_index_merge(ZebraHandle zh)
/*
* Local variables:
* c-basic-offset: 4
/*
* Local variables:
* c-basic-offset: 4
+ * c-file-style: "Stroustrup"
* indent-tabs-mode: nil
* End:
* vim: shiftwidth=4 tabstop=8 expandtab
* indent-tabs-mode: nil
* End:
* vim: shiftwidth=4 tabstop=8 expandtab