diff options
author | Igor Sysoev <igor@sysoev.ru> | 2003-11-21 06:30:49 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2003-11-21 06:30:49 +0000 |
commit | d9d0ca12688034d481e2f1f5cf13a098338ec31d (patch) | |
tree | 9dca776a24d0bd34064b21d77fe5b6d290510445 /src/core/ngx_alloc.c | |
parent | 1ef225254ef3f7fc5470289bdeabad2e31507d55 (diff) | |
download | nginx-d9d0ca12688034d481e2f1f5cf13a098338ec31d.tar.gz nginx-d9d0ca12688034d481e2f1f5cf13a098338ec31d.zip |
nginx-0.0.1-2003-11-21-09:30:49 import
Diffstat (limited to 'src/core/ngx_alloc.c')
-rw-r--r-- | src/core/ngx_alloc.c | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/src/core/ngx_alloc.c b/src/core/ngx_alloc.c index 32aa25c7e..dff05936e 100644 --- a/src/core/ngx_alloc.c +++ b/src/core/ngx_alloc.c @@ -5,10 +5,9 @@ void *ngx_alloc(size_t size, ngx_log_t *log) { - void *p; + void *p; - p = malloc(size); - if (p == NULL) { + if (!(p = malloc(size))) { ngx_log_error(NGX_LOG_EMERG, log, ngx_errno, "malloc() %d bytes failed", size); } @@ -23,7 +22,7 @@ void *ngx_alloc(size_t size, ngx_log_t *log) void *ngx_calloc(size_t size, ngx_log_t *log) { - void *p; + void *p; p = ngx_alloc(size, log); if (p) { @@ -36,9 +35,11 @@ void *ngx_calloc(size_t size, ngx_log_t *log) ngx_pool_t *ngx_create_pool(size_t size, ngx_log_t *log) { - ngx_pool_t *p; + ngx_pool_t *p; - ngx_test_null(p, ngx_alloc(size, log), NULL); + if (!(p = ngx_alloc(size, log))) { + return NULL; + } p->last = (char *) p + sizeof(ngx_pool_t); p->end = (char *) p + size; @@ -115,7 +116,10 @@ void *ngx_palloc(ngx_pool_t *pool, size_t size) /* alloc a new pool block */ - ngx_test_null(n, ngx_create_pool(p->end - (char *) p, p->log), NULL); + if (!(n = ngx_create_pool((size_t) (p->end - (char *) p), p->log))) { + return NULL; + } + p->next = n; m = n->last; n->last += size; @@ -143,11 +147,16 @@ void *ngx_palloc(ngx_pool_t *pool, size_t size) } if (large == NULL) { - ngx_test_null(large, ngx_palloc(pool, sizeof(ngx_pool_large_t)), NULL); + if (!(large = ngx_palloc(pool, sizeof(ngx_pool_large_t)))) { + return NULL; + } + large->next = NULL; } - ngx_test_null(p, ngx_alloc(size, pool->log), NULL); + if (!(p = ngx_alloc(size, pool->log))) { + return NULL; + } if (pool->large == NULL) { pool->large = large; |