summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2008-11-08 23:08:30 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2008-11-08 23:08:30 +0000
commite53a5011237467c73c72b338570e4a455d2d1ef6 (patch)
tree1f580e130a9985f98c0fd6efb88f2c1071b1a7ca /include
parent7836409aade83179b43dd7ad0699d9edf68aad90 (diff)
downloadlibparserutils-e53a5011237467c73c72b338570e4a455d2d1ef6.tar.gz
libparserutils-e53a5011237467c73c72b338570e4a455d2d1ef6.tar.bz2
Return errors from constructors and destructors.
svn path=/trunk/libparserutils/; revision=5652
Diffstat (limited to 'include')
-rw-r--r--include/parserutils/charset/codec.h8
-rw-r--r--include/parserutils/errors.h1
-rw-r--r--include/parserutils/input/inputstream.h8
-rw-r--r--include/parserutils/utils/buffer.h6
-rw-r--r--include/parserutils/utils/stack.h6
-rw-r--r--include/parserutils/utils/vector.h7
6 files changed, 21 insertions, 15 deletions
diff --git a/include/parserutils/charset/codec.h b/include/parserutils/charset/codec.h
index 9bf2ce7..d79740b 100644
--- a/include/parserutils/charset/codec.h
+++ b/include/parserutils/charset/codec.h
@@ -84,10 +84,12 @@ typedef union parserutils_charset_codec_optparams {
/* Create a charset codec */
-parserutils_charset_codec *parserutils_charset_codec_create(const char *charset,
- parserutils_alloc alloc, void *pw);
+parserutils_error parserutils_charset_codec_create(const char *charset,
+ parserutils_alloc alloc, void *pw,
+ parserutils_charset_codec **codec);
/* Destroy a charset codec */
-void parserutils_charset_codec_destroy(parserutils_charset_codec *codec);
+parserutils_error parserutils_charset_codec_destroy(
+ parserutils_charset_codec *codec);
/* Configure a charset codec */
parserutils_error parserutils_charset_codec_setopt(
diff --git a/include/parserutils/errors.h b/include/parserutils/errors.h
index 09c715c..632d334 100644
--- a/include/parserutils/errors.h
+++ b/include/parserutils/errors.h
@@ -18,6 +18,7 @@ typedef enum parserutils_error {
PARSERUTILS_INVALID = 3,
PARSERUTILS_FILENOTFOUND = 4,
PARSERUTILS_NEEDDATA = 5,
+ PARSERUTILS_BADENCODING = 6,
} parserutils_error;
/* Convert a parserutils error value to a string */
diff --git a/include/parserutils/input/inputstream.h b/include/parserutils/input/inputstream.h
index 3bf51aa..bf1911d 100644
--- a/include/parserutils/input/inputstream.h
+++ b/include/parserutils/input/inputstream.h
@@ -46,11 +46,13 @@ typedef struct parserutils_inputstream
#define PARSERUTILS_INPUTSTREAM_OOD (0xFFFFFFFEU)
/* Create an input stream */
-parserutils_inputstream *parserutils_inputstream_create(const char *enc,
+parserutils_error parserutils_inputstream_create(const char *enc,
uint32_t encsrc, parserutils_charset_detect_func csdetect,
- parserutils_alloc alloc, void *pw);
+ parserutils_alloc alloc, void *pw,
+ parserutils_inputstream **stream);
/* Destroy an input stream */
-void parserutils_inputstream_destroy(parserutils_inputstream *stream);
+parserutils_error parserutils_inputstream_destroy(
+ parserutils_inputstream *stream);
/* Append data to an input stream */
parserutils_error parserutils_inputstream_append(
diff --git a/include/parserutils/utils/buffer.h b/include/parserutils/utils/buffer.h
index 96053a3..c988564 100644
--- a/include/parserutils/utils/buffer.h
+++ b/include/parserutils/utils/buffer.h
@@ -22,9 +22,9 @@ struct parserutils_buffer
};
typedef struct parserutils_buffer parserutils_buffer;
-parserutils_buffer *parserutils_buffer_create(parserutils_alloc alloc,
- void *pw);
-void parserutils_buffer_destroy(parserutils_buffer *buffer);
+parserutils_error parserutils_buffer_create(parserutils_alloc alloc,
+ void *pw, parserutils_buffer **buffer);
+parserutils_error parserutils_buffer_destroy(parserutils_buffer *buffer);
parserutils_error parserutils_buffer_append(parserutils_buffer *buffer,
const uint8_t *data, size_t len);
diff --git a/include/parserutils/utils/stack.h b/include/parserutils/utils/stack.h
index e9fad5a..26262eb 100644
--- a/include/parserutils/utils/stack.h
+++ b/include/parserutils/utils/stack.h
@@ -16,9 +16,9 @@
struct parserutils_stack;
typedef struct parserutils_stack parserutils_stack;
-parserutils_stack *parserutils_stack_create(size_t item_size, size_t chunk_size,
- parserutils_alloc alloc, void *pw);
-void parserutils_stack_destroy(parserutils_stack *stack);
+parserutils_error parserutils_stack_create(size_t item_size, size_t chunk_size,
+ parserutils_alloc alloc, void *pw, parserutils_stack **stack);
+parserutils_error parserutils_stack_destroy(parserutils_stack *stack);
parserutils_error parserutils_stack_push(parserutils_stack *stack, void *item);
parserutils_error parserutils_stack_pop(parserutils_stack *stack, void *item);
diff --git a/include/parserutils/utils/vector.h b/include/parserutils/utils/vector.h
index 6bfd0fe..77340bc 100644
--- a/include/parserutils/utils/vector.h
+++ b/include/parserutils/utils/vector.h
@@ -16,9 +16,10 @@
struct parserutils_vector;
typedef struct parserutils_vector parserutils_vector;
-parserutils_vector *parserutils_vector_create(size_t item_size,
- size_t chunk_size, parserutils_alloc alloc, void *pw);
-void parserutils_vector_destroy(parserutils_vector *vector);
+parserutils_error parserutils_vector_create(size_t item_size,
+ size_t chunk_size, parserutils_alloc alloc, void *pw,
+ parserutils_vector **vector);
+parserutils_error parserutils_vector_destroy(parserutils_vector *vector);
parserutils_error parserutils_vector_append(parserutils_vector *vector,
void *item);