Lines Matching defs:arr

93 APR_DECLARE(void) apr_array_clear(apr_array_header_t *arr)
95 arr->nelts = 0;
98 APR_DECLARE(void *) apr_array_pop(apr_array_header_t *arr)
100 if (apr_is_empty_array(arr)) {
104 return arr->elts + (arr->elt_size * (--arr->nelts));
107 APR_DECLARE(void *) apr_array_push(apr_array_header_t *arr)
109 if (arr->nelts == arr->nalloc) {
110 int new_size = (arr->nalloc <= 0) ? 1 : arr->nalloc * 2;
113 new_data = apr_palloc(arr->pool, arr->elt_size * new_size);
115 memcpy(new_data, arr->elts, arr->nalloc * arr->elt_size);
116 memset(new_data + arr->nalloc * arr->elt_size, 0,
117 arr->elt_size * (new_size - arr->nalloc));
118 arr->elts = new_data;
119 arr->nalloc = new_size;
122 ++arr->nelts;
123 return arr->elts + (arr->elt_size * (arr->nelts - 1));
126 static void *apr_array_push_noclear(apr_array_header_t *arr)
128 if (arr->nelts == arr->nalloc) {
129 int new_size = (arr->nalloc <= 0) ? 1 : arr->nalloc * 2;
132 new_data = apr_palloc(arr->pool, arr->elt_size * new_size);
134 memcpy(new_data, arr->elts, arr->nalloc * arr->elt_size);
135 arr->elts = new_data;
136 arr->nalloc = new_size;
139 ++arr->nelts;
140 return arr->elts + (arr->elt_size * (arr->nelts - 1));
169 const apr_array_header_t *arr)
173 make_array_core(res, p, arr->nalloc, arr->elt_size, 0);
175 memcpy(res->elts, arr->elts, arr->elt_size * arr->nelts);
176 res->nelts = arr->nelts;
190 const apr_array_header_t *arr)
192 res->elts = arr->elts;
193 res->elt_size = arr->elt_size;
194 res->nelts = arr->nelts;
195 res->nalloc = arr->nelts; /* Force overflow on push */
200 const apr_array_header_t *arr)
206 copy_array_hdr_core(res, arr);
230 const apr_array_header_t *arr,
237 if (arr->nelts <= 0 || arr->elts == NULL) { /* Empty table? */
244 for (i = 0, strpp = (char **) arr->elts; ; ++strpp) {
248 if (++i >= arr->nelts) {
263 for (i = 0, strpp = (char **) arr->elts; ; ++strpp) {
269 if (++i >= arr->nelts) {