]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
(sexp_iterator_exit_lists): New function, #if:ed out for
authorNiels Möller <nisse@lysator.liu.se>
Thu, 21 Nov 2002 22:28:49 +0000 (23:28 +0100)
committerNiels Möller <nisse@lysator.liu.se>
Thu, 21 Nov 2002 22:28:49 +0000 (23:28 +0100)
now.

Rev: src/nettle/sexp.c:1.13
Rev: src/nettle/sexp.h:1.10

sexp.c
sexp.h

diff --git a/sexp.c b/sexp.c
index 1e0934855f0c43da6f607ef18851c9d955e03dfa..e246211bb8ba57671ac29a5d001a755decaad463 100644 (file)
--- a/sexp.c
+++ b/sexp.c
@@ -212,6 +212,22 @@ sexp_iterator_exit_list(struct sexp_iterator *iterator)
   return sexp_iterator_parse(iterator);
 }
 
+#if 0
+/* What's a reasonable interface for this? */
+int
+sexp_iterator_exit_lists(struct sexp_iterator *iterator,
+                        unsigned level)
+{
+  assert(iterator->level >= level);
+
+  while (iterator->level > level)
+    if (!sexp_iterator_exit_list(iterator))
+      return 0;
+
+  return 1;
+}
+#endif
+
 const uint8_t *
 sexp_iterator_subexpr(struct sexp_iterator *iterator,
                      unsigned *length)
diff --git a/sexp.h b/sexp.h
index 074c7c8f242473aacdb445a88618130e010168a9..7baee5b88f0c859315b2239bac2e3a179ca3e28b 100644 (file)
--- a/sexp.h
+++ b/sexp.h
@@ -77,6 +77,14 @@ sexp_iterator_enter_list(struct sexp_iterator *iterator);
 int
 sexp_iterator_exit_list(struct sexp_iterator *iterator);
 
+#if 0
+/* Skips out of as many lists as necessary to get back to the given
+ * level. */
+int
+sexp_iterator_exit_lists(struct sexp_iterator *iterator,
+                        unsigned level);
+#endif
+
 /* Gets start and length of the current subexpression. Implies
  * sexp_iterator_next. */
 const uint8_t *