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
Working on and operation which deals with segments (matches within fields)
[idzebra-moved-to-github.git]
/
index
/
kcontrol.c
diff --git
a/index/kcontrol.c
b/index/kcontrol.c
index
e5d2b6b
..
7cde52e
100644
(file)
--- a/
index/kcontrol.c
+++ b/
index/kcontrol.c
@@
-1,4
+1,4
@@
-/* $Id: kcontrol.c,v 1.2 2006-05-10 08:13:21 adam Exp $
+/* $Id: kcontrol.c,v 1.3 2006-07-04 14:10:30 adam Exp $
Copyright (C) 1995-2005
Index Data ApS
Copyright (C) 1995-2005
Index Data ApS
@@
-53,8
+53,10
@@
static void my_dec(struct rset_key_control *kc)
}
}
}
}
+
struct rset_key_control *zebra_key_control_create(ZebraHandle zh)
{
struct rset_key_control *zebra_key_control_create(ZebraHandle zh)
{
+ const char *res_val;
struct rset_key_control *kc = xmalloc(sizeof(*kc));
struct context_control *cp = xmalloc(sizeof(*cp));
struct rset_key_control *kc = xmalloc(sizeof(*kc));
struct context_control *cp = xmalloc(sizeof(*cp));
@@
-64,6
+66,12
@@
struct rset_key_control *zebra_key_control_create(ZebraHandle zh)
kc->cmp = key_compare_it;
kc->key_logdump_txt = key_logdump_txt;
kc->getseq = key_get_seq;
kc->cmp = key_compare_it;
kc->key_logdump_txt = key_logdump_txt;
kc->getseq = key_get_seq;
+ res_val = zebra_get_resource(zh, "segment", 0);
+ kc->get_segment = 0;
+ if (res_val && atoi(res_val))
+ {
+ kc->get_segment = key_get_segment;
+ }
zebra_limit_for_rset(zh->m_limit,
&kc->filter_func,
&cp->filter_destroy,
zebra_limit_for_rset(zh->m_limit,
&kc->filter_func,
&cp->filter_destroy,