X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=index%2Frecords.c;h=490c3584c26ae5d298e325bdd5daff5a424188a4;hp=f6ef93d0e7301709250532f4f587c27b5464263c;hb=a5c8c78e8671af863fc61b2ad8b24f92f827f7b2;hpb=a66b7d79383ae700f3358731eecfe2aafed0e90d diff --git a/index/records.c b/index/records.c index f6ef93d..490c358 100644 --- a/index/records.c +++ b/index/records.c @@ -1,5 +1,5 @@ /* This file is part of the Zebra server. - Copyright (C) 1994-2010 Index Data + 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 @@ -32,6 +32,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * (length, data) - pairs * length = 0 if same as previous */ +#if HAVE_CONFIG_H +#include +#endif #include #include #include @@ -934,6 +937,21 @@ Record rec_get_root(Records p) return rec_get(p, rec_sysno_to_ext(1)); } +Record rec_get_next(Records p, Record rec) +{ + Record next = 0; + zint next_sysno_int = rec_sysno_to_int(rec->sysno); + + while (!next) + { + ++next_sysno_int; + if (next_sysno_int == p->head.index_last) + break; + next = rec_get(p, rec_sysno_to_ext(next_sysno_int)); + } + return next; +} + static Record rec_new_int(Records p) { int i;