One Level Up
Top Level
src/core/ngx_list.c - nginx-1.7.10
Functions defined
Source code
- #include <ngx_config.h>
- #include <ngx_core.h>
- ngx_list_t *
- ngx_list_create(ngx_pool_t *pool, ngx_uint_t n, size_t size)
- {
- ngx_list_t *list;
- list = ngx_palloc(pool, sizeof(ngx_list_t));
- if (list == NULL) {
- return NULL;
- }
- if (ngx_list_init(list, pool, n, size) != NGX_OK) {
- return NULL;
- }
- return list;
- }
- void *
- ngx_list_push(ngx_list_t *l)
- {
- void *elt;
- ngx_list_part_t *last;
- last = l->last;
- if (last->nelts == l->nalloc) {
-
- last = ngx_palloc(l->pool, sizeof(ngx_list_part_t));
- if (last == NULL) {
- return NULL;
- }
- last->elts = ngx_palloc(l->pool, l->nalloc * l->size);
- if (last->elts == NULL) {
- return NULL;
- }
- last->nelts = 0;
- last->next = NULL;
- l->last->next = last;
- l->last = last;
- }
- elt = (char *) last->elts + l->size * last->nelts;
- last->nelts++;
- return elt;
- }
One Level Up
Top Level