From e53a5011237467c73c72b338570e4a455d2d1ef6 Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Sat, 8 Nov 2008 23:08:30 +0000 Subject: Return errors from constructors and destructors. svn path=/trunk/libparserutils/; revision=5652 --- include/parserutils/charset/codec.h | 8 +++++--- include/parserutils/errors.h | 1 + include/parserutils/input/inputstream.h | 8 +++++--- include/parserutils/utils/buffer.h | 6 +++--- include/parserutils/utils/stack.h | 6 +++--- include/parserutils/utils/vector.h | 7 ++++--- 6 files changed, 21 insertions(+), 15 deletions(-) (limited to 'include') 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); -- cgit v1.2.3