summaryrefslogtreecommitdiff
path: root/src/utils/chunkarray.h
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2008-12-01 03:14:37 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2008-12-01 03:14:37 +0000
commitce2b034ae9dcad49d8c2721494830c3731a60ff8 (patch)
treedc88943dc1614b0f9e7c080e605307d6863732ca /src/utils/chunkarray.h
parentda18d0ce1b4ea9231243e52b3e81a6a5b026b879 (diff)
downloadlibparserutils-ce2b034ae9dcad49d8c2721494830c3731a60ff8.tar.gz
libparserutils-ce2b034ae9dcad49d8c2721494830c3731a60ff8.tar.bz2
Chunked arrays: Pack length of entries into array as a prefix to the data.
Limit maximum length of data items stored in hash/chunked array to 2^16-1. svn path=/trunk/libparserutils/; revision=5858
Diffstat (limited to 'src/utils/chunkarray.h')
-rw-r--r--src/utils/chunkarray.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/utils/chunkarray.h b/src/utils/chunkarray.h
index 4ee98cd..2ba0bff 100644
--- a/src/utils/chunkarray.h
+++ b/src/utils/chunkarray.h
@@ -11,6 +11,11 @@
#include <parserutils/errors.h>
#include <parserutils/functypes.h>
+typedef struct parserutils_chunkarray_entry {
+ uint16_t length;
+ uint8_t data[];
+} parserutils_chunkarray_entry;
+
struct parserutils_chunkarray;
typedef struct parserutils_chunkarray parserutils_chunkarray;
@@ -19,8 +24,8 @@ parserutils_error parserutils_chunkarray_create(parserutils_alloc alloc,
parserutils_error parserutils_chunkarray_destroy(parserutils_chunkarray *array);
parserutils_error parserutils_chunkarray_insert(parserutils_chunkarray *array,
- const void *data, size_t len,
- const void **inserted);
+ const void *data, uint16_t len,
+ const parserutils_chunkarray_entry **inserted);
#endif