From: Niels Möller Date: Thu, 21 Nov 2002 22:28:49 +0000 (+0100) Subject: (sexp_iterator_exit_lists): New function, #if:ed out for X-Git-Tag: nettle_1.7_release_20030311~113 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=585b586aef8304b333d956e5c4658c882e1834dc;p=thirdparty%2Fnettle.git (sexp_iterator_exit_lists): New function, #if:ed out for now. Rev: src/nettle/sexp.c:1.13 Rev: src/nettle/sexp.h:1.10 --- diff --git a/sexp.c b/sexp.c index 1e093485..e246211b 100644 --- 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 074c7c8f..7baee5b8 100644 --- 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 *