diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2008-12-01 03:14:37 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2008-12-01 03:14:37 +0000 |
commit | ce2b034ae9dcad49d8c2721494830c3731a60ff8 (patch) | |
tree | dc88943dc1614b0f9e7c080e605307d6863732ca /src/utils/chunkarray.h | |
parent | da18d0ce1b4ea9231243e52b3e81a6a5b026b879 (diff) | |
download | libparserutils-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.h | 9 |
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 |