summaryrefslogtreecommitdiffhomepage
path: root/src/go/unit/nxt_go_array.c
diff options
context:
space:
mode:
authorMax Romanov <max.romanov@nginx.com>2018-08-06 17:27:33 +0300
committerMax Romanov <max.romanov@nginx.com>2018-08-06 17:27:33 +0300
commit1bb22d1e922c87d3c86c67bdce626767ee48fb5c (patch)
tree6e067a82b309c3a0d0f592f037f26d886a7f8c13 /src/go/unit/nxt_go_array.c
parentb6ce2da65c9c5229d744b2d964623b2d0f731ee9 (diff)
downloadunit-1bb22d1e922c87d3c86c67bdce626767ee48fb5c.tar.gz
unit-1bb22d1e922c87d3c86c67bdce626767ee48fb5c.tar.bz2
Unit application library.
Library now used in all language modules. Old 'nxt_app_*' code removed. See src/test/nxt_unit_app_test.c for usage sample.
Diffstat (limited to 'src/go/unit/nxt_go_array.c')
-rw-r--r--src/go/unit/nxt_go_array.c62
1 files changed, 0 insertions, 62 deletions
diff --git a/src/go/unit/nxt_go_array.c b/src/go/unit/nxt_go_array.c
deleted file mode 100644
index fea97faf..00000000
--- a/src/go/unit/nxt_go_array.c
+++ /dev/null
@@ -1,62 +0,0 @@
-
-/*
- * Copyright (C) Max Romanov
- * Copyright (C) NGINX, Inc.
- */
-
-#include <stdint.h>
-#include <sys/types.h>
-
-#include <nxt_main.h>
-
-#include "nxt_go_array.h"
-
-void
-nxt_go_array_init(nxt_array_t *array, nxt_uint_t n, size_t size)
-{
- array->elts = malloc(n * size);
-
- if (nxt_slow_path(n != 0 && array->elts == NULL)) {
- return;
- }
-
- array->nelts = 0;
- array->size = size;
- array->nalloc = n;
- array->mem_pool = NULL;
-}
-
-void *
-nxt_go_array_add(nxt_array_t *array)
-{
- void *p;
- uint32_t nalloc, new_alloc;
-
- nalloc = array->nalloc;
-
- if (array->nelts == nalloc) {
-
- if (nalloc < 16) {
- /* Allocate new array twice larger than current. */
- new_alloc = nalloc * 2;
-
- } else {
- /* Allocate new array 1.5 times larger than current. */
- new_alloc = nalloc + nalloc / 2;
- }
-
- p = realloc(array->elts, array->size * new_alloc);
-
- if (nxt_slow_path(p == NULL)) {
- return NULL;
- }
-
- array->elts = p;
- array->nalloc = new_alloc;
- }
-
- p = nxt_pointer_to(array->elts, array->size * array->nelts);
- array->nelts++;
-
- return p;
-}