Lines Matching refs:sl
63 StringList *sl; in __weak_alias() local
65 sl = malloc(sizeof(StringList)); in __weak_alias()
66 if (sl == NULL) in __weak_alias()
69 sl->sl_cur = 0; in __weak_alias()
70 sl->sl_max = _SL_CHUNKSIZE; in __weak_alias()
71 sl->sl_str = NULL; in __weak_alias()
72 errno = reallocarr(&sl->sl_str, sl->sl_max, sizeof(*sl->sl_str)); in __weak_alias()
75 free(sl); in __weak_alias()
77 sl = NULL; in __weak_alias()
79 return sl; in __weak_alias()
87 sl_add(StringList *sl, char *name) in sl_add() argument
90 _DIAGASSERT(sl != NULL); in sl_add()
92 if (sl->sl_cur == sl->sl_max - 1) { in sl_add()
93 char **new = sl->sl_str; in sl_add()
95 errno = reallocarr(&new, (sl->sl_max + _SL_CHUNKSIZE), in sl_add()
99 sl->sl_max += _SL_CHUNKSIZE; in sl_add()
100 sl->sl_str = new; in sl_add()
102 sl->sl_str[sl->sl_cur++] = name; in sl_add()
111 sl_free(StringList *sl, int all) in sl_free() argument
115 if (sl == NULL) in sl_free()
117 if (sl->sl_str) { in sl_free()
119 for (i = 0; i < sl->sl_cur; i++) in sl_free()
120 free(sl->sl_str[i]); in sl_free()
121 free(sl->sl_str); in sl_free()
123 free(sl); in sl_free()
131 sl_find(StringList *sl, const char *name) in sl_find() argument
135 _DIAGASSERT(sl != NULL); in sl_find()
137 for (i = 0; i < sl->sl_cur; i++) in sl_find()
138 if (strcmp(sl->sl_str[i], name) == 0) in sl_find()
139 return sl->sl_str[i]; in sl_find()
145 sl_delete(StringList *sl, const char *name, int all) in sl_delete() argument
149 for (i = 0; i < sl->sl_cur; i++) in sl_delete()
150 if (strcmp(sl->sl_str[i], name) == 0) { in sl_delete()
152 free(sl->sl_str[i]); in sl_delete()
153 for (j = i + 1; j < sl->sl_cur; j++) in sl_delete()
154 sl->sl_str[j - 1] = sl->sl_str[j]; in sl_delete()
155 sl->sl_str[--sl->sl_cur] = NULL; in sl_delete()