# HG changeset patch # User lost # Date 1266041284 0 # Node ID 80826bf2827be9a1f89f36d45e653374dcce8211 # Parent 2eb058346cade2709a8432a18a0330a675561cc6 Added copier for stringlist module diff -r 2eb058346cad -r 80826bf2827b lwlib/lw_stringlist.c --- a/lwlib/lw_stringlist.c Sat Feb 13 05:21:20 2010 +0000 +++ b/lwlib/lw_stringlist.c Sat Feb 13 06:08:04 2010 +0000 @@ -75,3 +75,22 @@ { return S -> nstrings; } + +lw_stringlist_t lw_stringlist_copy(lw_stringlist_t S) +{ + lw_stringlist_t r; + + r = lw_alloc(sizeof(lw_stringlist_t)); + r -> nstrings = S -> nstrings; + if (S -> nstrings) + { + int i; + + r -> strings = lw_alloc(sizeof(char *) * S -> nstrings); + for (i = 0; i < S -> nstrings; i++) + { + r -> strings[i] = lw_strdup(S -> strings[i]); + } + } + return r; +} diff -r 2eb058346cad -r 80826bf2827b lwlib/lw_stringlist.h --- a/lwlib/lw_stringlist.h Sat Feb 13 05:21:20 2010 +0000 +++ b/lwlib/lw_stringlist.h Sat Feb 13 06:08:04 2010 +0000 @@ -43,6 +43,7 @@ extern char *lw_stringlist_current(lw_stringlist_t S); extern char *lw_stringlist_next(lw_stringlist_t S); extern int lw_stringlist_nstrings(lw_stringlist_t S); +extern lw_stringlist_t lw_stringlist_copy(lw_stringlist_t S); #endif /* def ___lw_stringlist_c_seen___ */