Lines Matching full:v

45 static size_t	get_strlen_sum(const struct vector_str *v);
46 static bool vector_str_grow(struct vector_str *v);
49 get_strlen_sum(const struct vector_str *v) in get_strlen_sum() argument
53 if (v == NULL) in get_strlen_sum()
56 assert(v->size > 0); in get_strlen_sum()
58 for (i = 0; i < v->size; ++i) in get_strlen_sum()
59 len += strlen(v->container[i]); in get_strlen_sum()
68 vector_str_dest(struct vector_str *v) in vector_str_dest() argument
72 if (v == NULL) in vector_str_dest()
75 for (i = 0; i < v->size; ++i) in vector_str_dest()
76 free(v->container[i]); in vector_str_dest()
78 free(v->container); in vector_str_dest()
83 * @param v Destination vector.
89 vector_str_find(const struct vector_str *v, const char *o, size_t l) in vector_str_find() argument
93 if (v == NULL || o == NULL) in vector_str_find()
96 for (i = 0; i < v->size; ++i) in vector_str_find()
97 if (strncmp(v->container[i], o, l) == 0) in vector_str_find()
107 * @param v Destination vector.
112 vector_str_get_flat(const struct vector_str *v, size_t *l) in vector_str_get_flat() argument
118 if (v == NULL || v->size == 0) in vector_str_get_flat()
121 if ((rtn_size = get_strlen_sum(v)) == 0) in vector_str_get_flat()
128 for (i = 0; i < v->size; ++i) { in vector_str_get_flat()
129 elem_size = strlen(v->container[i]); in vector_str_get_flat()
131 memcpy(rtn + elem_pos, v->container[i], elem_size); in vector_str_get_flat()
145 vector_str_grow(struct vector_str *v) in vector_str_grow() argument
150 if (v == NULL) in vector_str_grow()
153 assert(v->capacity > 0); in vector_str_grow()
155 tmp_cap = BUFFER_GROW(v->capacity); in vector_str_grow()
157 assert(tmp_cap > v->capacity); in vector_str_grow()
162 for (i = 0; i < v->size; ++i) in vector_str_grow()
163 tmp_ctn[i] = v->container[i]; in vector_str_grow()
165 free(v->container); in vector_str_grow()
167 v->container = tmp_ctn; in vector_str_grow()
168 v->capacity = tmp_cap; in vector_str_grow()
178 vector_str_init(struct vector_str *v) in vector_str_init() argument
181 if (v == NULL) in vector_str_init()
184 v->size = 0; in vector_str_init()
185 v->capacity = VECTOR_DEF_CAPACITY; in vector_str_init()
187 assert(v->capacity > 0); in vector_str_init()
189 if ((v->container = malloc(sizeof(char *) * v->capacity)) == NULL) in vector_str_init()
192 assert(v->container != NULL); in vector_str_init()
202 vector_str_pop(struct vector_str *v) in vector_str_pop() argument
205 if (v == NULL) in vector_str_pop()
208 if (v->size == 0) in vector_str_pop()
211 --v->size; in vector_str_pop()
213 free(v->container[v->size]); in vector_str_pop()
214 v->container[v->size] = NULL; in vector_str_pop()
224 vector_str_push(struct vector_str *v, const char *str, size_t len) in vector_str_push() argument
227 if (v == NULL || str == NULL) in vector_str_push()
230 if (v->size == v->capacity && vector_str_grow(v) == false) in vector_str_push()
233 if ((v->container[v->size] = malloc(sizeof(char) * (len + 1))) == NULL) in vector_str_push()
236 snprintf(v->container[v->size], len + 1, "%s", str); in vector_str_push()
238 ++v->size; in vector_str_push()
331 vector_str_substr(const struct vector_str *v, size_t begin, size_t end, in vector_str_substr() argument
337 if (v == NULL || begin > end) in vector_str_substr()
342 len += strlen(v->container[i]); in vector_str_substr()
352 len = strlen(v->container[i]); in vector_str_substr()
353 memcpy(rtn + cur, v->container[i], len); in vector_str_substr()