Lines Matching refs:arr
206 lshpack_arr_push (struct lshpack_arr *arr, uintptr_t val) in lshpack_arr_push() argument
211 if (arr->off + arr->nelem < arr->nalloc) in lshpack_arr_push()
213 arr->els[arr->off + arr->nelem] = val; in lshpack_arr_push()
214 ++arr->nelem; in lshpack_arr_push()
218 if (arr->off > arr->nalloc / 2) in lshpack_arr_push()
220 memmove(arr->els, arr->els + arr->off, in lshpack_arr_push()
221 sizeof(arr->els[0]) * arr->nelem); in lshpack_arr_push()
222 arr->off = 0; in lshpack_arr_push()
223 arr->els[arr->nelem] = val; in lshpack_arr_push()
224 ++arr->nelem; in lshpack_arr_push()
228 if (arr->nalloc) in lshpack_arr_push()
229 n = arr->nalloc * 2; in lshpack_arr_push()
232 new_els = malloc(n * sizeof(arr->els[0])); in lshpack_arr_push()
235 memcpy(new_els, arr->els + arr->off, sizeof(arr->els[0]) * arr->nelem); in lshpack_arr_push()
236 free(arr->els); in lshpack_arr_push()
237 arr->off = 0; in lshpack_arr_push()
238 arr->els = new_els; in lshpack_arr_push()
239 arr->nalloc = n; in lshpack_arr_push()
240 arr->els[arr->off + arr->nelem] = val; in lshpack_arr_push()
241 ++arr->nelem; in lshpack_arr_push()