From 1343434e1c21f1ad4441339d1b8a30d2ffe9c268 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= Date: Sun, 10 Nov 2002 14:38:50 +0100 Subject: * sexp.h (struct sexp_iterator): New field start. * sexp.c (sexp_iterator_subexpr): New function. (sexp_iterator_parse): Initialize ITERATOR->start. Rev: src/nettle/sexp.c:1.11 Rev: src/nettle/sexp.h:1.8 --- sexp.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'sexp.h') diff --git a/sexp.h b/sexp.h index 21e88eaf..72bbae9c 100644 --- a/sexp.h +++ b/sexp.h @@ -36,7 +36,9 @@ struct sexp_iterator { unsigned length; const uint8_t *buffer; - + + /* Points at the start of the current sub expression. */ + unsigned start; /* If type is SEXP_LIST, pos points at the start of the current * element. Otherwise, it points at the end. */ unsigned pos; @@ -75,6 +77,12 @@ sexp_iterator_enter_list(struct sexp_iterator *iterator); int sexp_iterator_exit_list(struct sexp_iterator *iterator); +/* Gets start and length of the current subexpression. Implies + * sexp_iterator_next. */ +const uint8_t * +sexp_iterator_subexpr(struct sexp_iterator *iterator, + unsigned *length); + /* Checks the type of the current expression, which should be a list * -- cgit v1.2.1