Add rec_get_next
authorAdam Dickmeiss <adam@lenny32bit.(none)>
Tue, 1 Feb 2011 12:05:54 +0000 (12:05 +0000)
committerAdam Dickmeiss <adam@lenny32bit.(none)>
Tue, 1 Feb 2011 12:05:54 +0000 (12:05 +0000)
index/recindex.h
index/records.c

index aea2797..c4335cc 100644 (file)
@@ -76,6 +76,15 @@ Record rec_get(Records p, zint sysno);
     \returns record pointer (or NULL on error)
 */
 Record rec_get_root(Records p);
+
+
+/** \brief gets next record - with given records
+    \param p records handle
+    \param rec record
+    \returns record pointer (or NULL on error)
+*/
+Record rec_get_next(Records p, Record rec);
+
 ZEBRA_RES rec_close (Records *p);
 
 /** \brief opens records system
index f6ef93d..d63aac6 100644 (file)
@@ -934,6 +934,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;