Add a fcn wl_delete to free the wordlist, but not its wl_word contents.

This commit is contained in:
Holger Vogt 2024-04-29 21:49:11 +02:00
parent 279fe0afcf
commit 87a601395d
2 changed files with 13 additions and 0 deletions

View File

@ -23,6 +23,7 @@ void wl_delete_slice(wordlist *from, wordlist *to);
wordlist *wl_find(const char *string, const wordlist *wlist);
char * wl_flatten(const wordlist *wl);
void wl_free(wordlist *wlist);
void wl_delete(wordlist *wlist);
wordlist *wl_from_string(const char *sz);
int wl_length(const wordlist *wlist);
char ** wl_mkvec(const wordlist *wl);

View File

@ -39,6 +39,18 @@ wl_free(wordlist *wl)
}
}
/* Free the storage used by the word list only,
but not the wl->wl_word. */
void
wl_delete(wordlist* wl)
{
while (wl) {
wordlist* next = wl->wl_next;
tfree(wl);
wl = next;
}
}
/* Copy a wordlist and the words. */
wordlist *