diff --git a/src/include/ngspice/wordlist.h b/src/include/ngspice/wordlist.h index 2978d0482..975ef19e7 100644 --- a/src/include/ngspice/wordlist.h +++ b/src/include/ngspice/wordlist.h @@ -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); diff --git a/src/misc/wlist.c b/src/misc/wlist.c index f6d9e2592..ff61071f2 100644 --- a/src/misc/wlist.c +++ b/src/misc/wlist.c @@ -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 *