summaryrefslogtreecommitdiffstats
path: root/src/ptrarray.h
diff options
context:
space:
mode:
authorGravatar Nikias Bassen2019-05-19 00:20:51 +0200
committerGravatar Nikias Bassen2019-05-19 00:20:51 +0200
commit08c6143b870167ad29f9c20a298e0f75c986d0ea (patch)
tree079c595bf106a0f93add63a77730a2c8dde2ab7a /src/ptrarray.h
parent7e9ecf2f3f902f3e688e68b1d272f9a4b35540c7 (diff)
downloadlibplist-08c6143b870167ad29f9c20a298e0f75c986d0ea.tar.gz
libplist-08c6143b870167ad29f9c20a298e0f75c986d0ea.tar.bz2
Add index lookup table for large PLIST_ARRAY nodes
Diffstat (limited to 'src/ptrarray.h')
-rw-r--r--src/ptrarray.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/ptrarray.h b/src/ptrarray.h
index e8a3c88..2c6136a 100644
--- a/src/ptrarray.h
+++ b/src/ptrarray.h
@@ -2,7 +2,7 @@
* ptrarray.h
* header file for simple pointer array implementation
*
- * Copyright (c) 2011 Nikias Bassen, All Rights Reserved.
+ * Copyright (c) 2011-2019 Nikias Bassen, All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -24,13 +24,16 @@
typedef struct ptrarray_t {
void **pdata;
- size_t len;
- size_t capacity;
- size_t capacity_step;
+ long len;
+ long capacity;
+ long capacity_step;
} ptrarray_t;
ptrarray_t *ptr_array_new(int capacity);
void ptr_array_free(ptrarray_t *pa);
void ptr_array_add(ptrarray_t *pa, void *data);
-void* ptr_array_index(ptrarray_t *pa, size_t index);
+void ptr_array_insert(ptrarray_t *pa, void *data, long index);
+void ptr_array_remove(ptrarray_t *pa, long index);
+void ptr_array_set(ptrarray_t *pa, void *data, long index);
+void* ptr_array_index(ptrarray_t *pa, long index);
#endif