⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ngx_list.c

📁 Nginx是一个高性能的HTTP和反向代理服务器
💻 C
字号:
/* * Copyright (C) Igor Sysoev */#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;    }    list->part.elts = ngx_palloc(pool, n * size);    if (list->part.elts == NULL) {        return NULL;    }    list->part.nelts = 0;    list->part.next = NULL;    list->last = &list->part;    list->size = size;    list->nalloc = n;    list->pool = pool;    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) {        /* the last part is full, allocate a new list part */        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;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -