common: Add 'append_to_strlist_try' which can fail.

* common/strlist.c (append_to_strlist): Use the new function.
(append_to_strlist_try): New function.
* common/strlist.h (append_to_strlist_try): New prototype.

Signed-off-by: Justus Winter <justus@g10code.com>
This commit is contained in:
Justus Winter 2016-04-21 12:36:04 +02:00
parent 342cc48889
commit 95303ee11d
2 changed files with 16 additions and 0 deletions

View File

@ -111,10 +111,25 @@ add_to_strlist2( strlist_t *list, const char *string, int is_utf8 )
process on memory shortage. */
strlist_t
append_to_strlist( strlist_t *list, const char *string )
{
strlist_t sl;
sl = append_to_strlist_try (list, string);
if (sl == NULL)
abort ();
return sl;
}
/* Add STRING to the LIST at the end. */
strlist_t
append_to_strlist_try (strlist_t *list, const char *string)
{
strlist_t r, sl;
sl = xmalloc( sizeof *sl + strlen(string));
if (sl == NULL)
return NULL;
sl->flags = 0;
strcpy(sl->d, string);
sl->next = NULL;

View File

@ -46,6 +46,7 @@ strlist_t add_to_strlist_try (strlist_t *list, const char *string);
strlist_t add_to_strlist2( strlist_t *list, const char *string, int is_utf8);
strlist_t append_to_strlist (strlist_t *list, const char *string);
strlist_t append_to_strlist_try (strlist_t *list, const char *string);
strlist_t append_to_strlist2 (strlist_t *list, const char *string,
int is_utf8);