<feed xmlns='http://www.w3.org/2005/Atom'>
<title>libgpg-error/src/strlist.c, branch libgpg-error-1.60</title>
<subtitle>Error codes used by GnuPG et al.</subtitle>
<id>http://git.bktus.com/gpgfrontend/libgpg-error/atom?h=libgpg-error-1.60</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/libgpg-error/atom?h=libgpg-error-1.60'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/'/>
<updated>2025-04-01T08:26:30Z</updated>
<entry>
<title>New public API gpgrt_strlist_*</title>
<updated>2025-04-01T08:26:30Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2025-04-01T08:26:30Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/commit/?id=47097806f13d93daffb73b4221f3f18a99f66b2b'/>
<id>urn:sha1:47097806f13d93daffb73b4221f3f18a99f66b2b</id>
<content type='text'>
* src/strlist.c: Rename all functions to have a _gpgrt_strlist prefix.
(append_to_strlist2, strlist_length): Remove.
(_gpgrt_strlist_free): rtake care of the wipe flag.
(_gpgrt_strlist_add): Add a flags arg to use it for prepend and
append.  Return an error on failure.
(_gpgrt_strlist_tokenize): Ditto.
(_gpgrt_strlist_copy): Chnage to return an error on failure.
(_gpgrt_strlist_pop): Ditto.
* src/Makefile.am (libgpg_error_la_SOURCES): Add strlist.c.
* src/argparse.c (trim_spaces): Move to ...
* src/stringutils.c (_gpgrt_trim_spaces): here and rename.
* src/visibility.c: Add wrappers for all exported functions.
* src/visibility.h: MArk exported functions as visisble.
* src/gpg-error.def.in: Export new functions
* src/gpg-error.vers: Ditto.
* src/gpg-error.h.in (GPGRT_STRLIST_APPEND): New.
(GPGRT_STRLIST_WIPE): New.
(gpgrt_strlist_free): New.
(gpgrt_strlist_add): New.
(gpgrt_strlist_tokenize): New.
(gpgrt_strlist_copy): New.
(gpgrt_strlist_rev): New.
(gpgrt_strlist_prev): New.
(gpgrt_strlist_last): New.
(gpgrt_strlist_pop): New.
(gpgrt_strlist_find): New.
(gpgrt_strlist_count): New inline function.
--

This is a modified set of function as used by gpg for ages. These are
quite useful functions and will be needed internally for some other
planned features.  The idea is to make their counterparts in gnupg
wrapper around those new functions.

After we have moved the secure memory stuff from Libgcrypt to here we
can also implement a GPGRT_STRLICT_SECMEM flag to allow allocating
strings here ion secure memory.  For now we only have the WIPE flag
which wipes the memory on free.
</content>
</entry>
<entry>
<title>Add source file strlist.c</title>
<updated>2025-03-28T10:12:32Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2025-03-28T10:12:03Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/libgpg-error/commit/?id=1765ecb037eb4aac2ed7e778943ff8741f64fa56'/>
<id>urn:sha1:1765ecb037eb4aac2ed7e778943ff8741f64fa56</id>
<content type='text'>
--

This is a copy from current GnuPG master.  The license has been
chnaged from (LGPL-3.0-or-later OR GPL-2.0-or-later) to
LGPL-2.1-or-later: Almost everything was written by me or by employees
of g10 Code GmbH.  The only exception is strlist_pop

  2002-06-14  David Shaw  &lt;dshaw@jabberwocky.com&gt;

  * strgutil.c (pop_strlist): New function to pop the head off of a
  strlist.

from gnupg-1.4/util/strgutil.c.  However the function is to obvious to
inhibit the license change.  It needs to be changes anyway with
followup commits.

Signed-off-by: Werner Koch &lt;wk@gnupg.org&gt;
</content>
</entry>
</feed>
