diff options
Diffstat (limited to 'src/input/inputstream.c')
-rw-r--r-- | src/input/inputstream.c | 29 |
1 files changed, 10 insertions, 19 deletions
diff --git a/src/input/inputstream.c b/src/input/inputstream.c index 686ff65..da6653c 100644 --- a/src/input/inputstream.c +++ b/src/input/inputstream.c @@ -33,9 +33,6 @@ typedef struct parserutils_inputstream_private { parserutils_filter *input; /**< Charset conversion filter */ parserutils_charset_detect_func csdetect; /**< Charset detection func.*/ - - parserutils_alloc alloc; /**< Memory (de)allocation function */ - void *pw; /**< Client private data */ } parserutils_inputstream_private; static inline parserutils_error parserutils_inputstream_refill_buffer( @@ -49,8 +46,6 @@ static inline parserutils_error parserutils_inputstream_strip_bom( * \param enc Document charset, or NULL to autodetect * \param encsrc Value for encoding source, if specified, or 0 * \param csdetect Charset detection function, or NULL - * \param alloc Memory (de)allocation function - * \param pw Pointer to client-specific private data (may be NULL) * \param stream Pointer to location to receive stream instance * \return PARSERUTILS_OK on success, * PARSERUTILS_BADPARM on bad parameters, @@ -63,29 +58,28 @@ static inline parserutils_error parserutils_inputstream_strip_bom( */ parserutils_error parserutils_inputstream_create(const char *enc, uint32_t encsrc, parserutils_charset_detect_func csdetect, - parserutils_alloc alloc, void *pw, parserutils_inputstream **stream) { parserutils_inputstream_private *s; parserutils_error error; - if (alloc == NULL || stream == NULL) + if (stream == NULL) return PARSERUTILS_BADPARM; - s = alloc(NULL, sizeof(parserutils_inputstream_private), pw); + s = malloc(sizeof(parserutils_inputstream_private)); if (s == NULL) return PARSERUTILS_NOMEM; - error = parserutils_buffer_create(alloc, pw, &s->raw); + error = parserutils_buffer_create(&s->raw); if (error != PARSERUTILS_OK) { - alloc(s, 0, pw); + free(s); return error; } - error = parserutils_buffer_create(alloc, pw, &s->public.utf8); + error = parserutils_buffer_create(&s->public.utf8); if (error != PARSERUTILS_OK) { parserutils_buffer_destroy(s->raw); - alloc(s, 0, pw); + free(s); return error; } @@ -93,11 +87,11 @@ parserutils_error parserutils_inputstream_create(const char *enc, s->public.had_eof = false; s->done_first_chunk = false; - error = parserutils__filter_create("UTF-8", alloc, pw, &s->input); + error = parserutils__filter_create("UTF-8", &s->input); if (error != PARSERUTILS_OK) { parserutils_buffer_destroy(s->public.utf8); parserutils_buffer_destroy(s->raw); - alloc(s, 0, pw); + free(s); return error; } @@ -119,7 +113,7 @@ parserutils_error parserutils_inputstream_create(const char *enc, parserutils__filter_destroy(s->input); parserutils_buffer_destroy(s->public.utf8); parserutils_buffer_destroy(s->raw); - alloc(s, 0, pw); + free(s); return error; } @@ -131,9 +125,6 @@ parserutils_error parserutils_inputstream_create(const char *enc, s->csdetect = csdetect; - s->alloc = alloc; - s->pw = pw; - *stream = (parserutils_inputstream *) s; return PARSERUTILS_OK; @@ -157,7 +148,7 @@ parserutils_error parserutils_inputstream_destroy( parserutils__filter_destroy(s->input); parserutils_buffer_destroy(s->public.utf8); parserutils_buffer_destroy(s->raw); - s->alloc(s, 0, s->pw); + free(s); return PARSERUTILS_OK; } |