Lines Matching defs:strs
79 strlist *strs;
82 strs = (strlist *)__libc_calloc(1, sizeof *strs) ;
84 if (strs) {
85 strs->strs = (char **)__libc_calloc(size, sizeof *strs->strs);
86 if (strs->strs) {
87 strs->size = size;
89 __libc_free(strs);
90 strs = NULL;
93 return strs ;
96 static void strlist_realloc(strlist *strs)
98 if (!strs) return;
99 size_t size = 2 * strs->size;
101 char **ss = (char **)__libc_realloc(strs->strs, size * (sizeof *strs->strs));
103 strs->size = size;
104 strs->strs = ss;
110 void strlist_free(strlist *strs)
112 if (!strs) return;
113 for (size_t i = 0; i < strs->num; i++) {
114 __libc_free(strs->strs[i]);
116 __libc_free(strs->strs);
117 __libc_free(strs);
120 void strlist_set(strlist *strs, const char *str)
122 if (!strs || !str) return;
123 if (strs->num == strs->size) {
124 strlist_realloc(strs);
126 if (strs->num < strs->size) {
127 strs->strs[strs->num] = ld_strdup(str);
128 if (strs->strs[strs->num]) strs->num++;