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
Fixed a crash with isam-c and multior (incremented a non-existing countp)
[idzebra-moved-to-github.git]
/
rset
/
rsisamc.c
diff --git
a/rset/rsisamc.c
b/rset/rsisamc.c
index
6c26e89
..
a70d7ae
100644
(file)
--- a/
rset/rsisamc.c
+++ b/
rset/rsisamc.c
@@
-1,4
+1,4
@@
-/* $Id: rsisamc.c,v 1.18 2004-08-20 14:44:46 heikki Exp $
+/* $Id: rsisamc.c,v 1.20 2004-08-24 08:52:30 heikki Exp $
Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
Index Data Aps
Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
Index Data Aps
@@
-57,7
+57,6
@@
struct rset_pp_info {
ISAMC_PP pt;
struct rset_pp_info *next;
struct rset_isamc_info *info;
ISAMC_PP pt;
struct rset_pp_info *next;
struct rset_isamc_info *info;
- zint *countp;
void *buf;
};
void *buf;
};
@@
-74,7
+73,6
@@
static void *r_create(RSET ct, const struct rset_control *sel, void *parms)
rset_isamc_parms *pt = (rset_isamc_parms *) parms;
struct rset_isamc_info *info;
rset_isamc_parms *pt = (rset_isamc_parms *) parms;
struct rset_isamc_info *info;
- ct->flags |= RSET_FLAG_VOLATILE;
info = (struct rset_isamc_info *) xmalloc (sizeof(*info));
info->is = pt->is;
info->pos = pt->pos;
info = (struct rset_isamc_info *) xmalloc (sizeof(*info));
info->is = pt->is;
info->pos = pt->pos;
@@
-142,14
+140,6
@@
static int r_read (RSFD rfd, void *buf)
struct rset_pp_info *pinfo = (struct rset_pp_info *) rfd;
int r;
r = isc_pp_read(pinfo->pt, buf);
struct rset_pp_info *pinfo = (struct rset_pp_info *) rfd;
int r;
r = isc_pp_read(pinfo->pt, buf);
- if (r > 0)
- {
- if (*pinfo->countp == 0 || (*pinfo->info->cmp)(buf, pinfo->buf) > 1)
- {
- memcpy (pinfo->buf, buf, pinfo->info->key_size);
- (*pinfo->countp)++;
- }
- }
return r;
}
return r;
}