summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2014-01-09 19:14:09 +0100
committerWerner Koch <wk@gnupg.org>2014-01-28 12:52:30 +0100
commitcbdc355415f83ed62da4f3618767eba54d7e6d37 (patch)
treec9f3876b94480a17cbc563ccca13395b1a689b6e /doc
parent7460e9243b3cc050631c37ed4f2713ae7bcb6762 (diff)
downloadlibgcrypt-cbdc355415f83ed62da4f3618767eba54d7e6d37.tar.gz
sexp: Fix broken gcry_sexp_nth.
* src/sexp.c (_gcry_sexp_nth): Return a valid S-expression for a data element. (NODE): Remove unused typedef. (ST_HINT): Comment unused macro. * tests/t-sexp.c (bug_1594): New. (main): Run new test. -- Before 1.6.0 gcry_sexp_nth (list, 0) with a LIST of "(a (b 3:pqr) (c 3:456) (d 3:xyz))" returned the entire list. 1.6.0 instead returned NULL. However, this is also surprising and the expected value would be "(a)". This patch fixes this. Somewhat related to that gcry_sexp_nth returned a broken list if requesting index 1 of a list like "(n foo)". It returned just the "foo" but not as a list which is required by the S-expression specs. Due to this patch the returned value is now "(foo)". Thanks to Ludovic Courtès for pointing out these problems. GnuPG-bug-id: 1594
Diffstat (limited to 'doc')
-rw-r--r--doc/gcrypt.texi5
1 files changed, 3 insertions, 2 deletions
diff --git a/doc/gcrypt.texi b/doc/gcrypt.texi
index 4a917901..c5c3b452 100644
--- a/doc/gcrypt.texi
+++ b/doc/gcrypt.texi
@@ -4064,8 +4064,9 @@ no such element, @code{NULL} is returned.
@deftypefun gcry_sexp_t gcry_sexp_car (@w{const gcry_sexp_t @var{list}})
Create and return a new S-expression from the first element in
-@var{list}; this called the "type" and should always exist and be a
-string. @code{NULL} is returned in case of a problem.
+@var{list}; this is called the "type" and should always exist per
+S-expression specification and in general be a string. @code{NULL} is
+returned in case of a problem.
@end deftypefun
@deftypefun gcry_sexp_t gcry_sexp_cdr (@w{const gcry_sexp_t @var{list}})