From afb277e5bdd92c16a4fdbd33b89dab4c03a5ae62 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Mon, 7 Apr 2025 11:20:53 +0200 Subject: Allow name-value lookup w/o a trailing colon for the name. * src/name-value.c (_gpgrt_name_value_entry): Add field namelen. (ascii_memcasecmp): New. (same_name_p): New. (valid_name): Strip the colon and return the length. (do_nvc_add): Set namelen. (_gpgrt_nvc_lookup): Simplify. * tests/t-name-value.c (test_getting_values): Add some extra tests. -- The requirement for a colon after the name is too cumbersome. --- tests/t-name-value.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'tests/t-name-value.c') diff --git a/tests/t-name-value.c b/tests/t-name-value.c index 7a28bf4..b4c618c 100644 --- a/tests/t-name-value.c +++ b/tests/t-name-value.c @@ -139,6 +139,24 @@ test_getting_values (gpgrt_nvc_t pk) e = gpgrt_nvc_lookup (pk, "SomeOtherName:"); gpgrt_assert (e); + + /* The colon is optional. */ + e = gpgrt_nvc_lookup (pk, "comment"); + gpgrt_assert (e); + e = gpgrt_nvc_lookup (pk, "COMMENT"); + gpgrt_assert (e); + + e = gpgrt_nvc_lookup (pk, "SomeOtherName"); + gpgrt_assert (e); + + /* And check one which does not exist. */ + e = gpgrt_nvc_lookup (pk, "SomeOtherNam"); + gpgrt_assert (!e); + e = gpgrt_nvc_lookup (pk, "SomeOtherNam:"); + gpgrt_assert (!e); + e = gpgrt_nvc_lookup (pk, "SomeOtherNam :"); + gpgrt_assert (!e); + } -- cgit v1.2.3