From 8e48b931091cbc99abeffacc7af80f363495ec23 Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Sat, 14 Dec 2013 23:14:09 +0000 Subject: Remove client allocation function. --- src/input/filter.c | 25 ++++++++----------------- src/input/filter.h | 2 +- src/input/inputstream.c | 29 ++++++++++------------------- 3 files changed, 19 insertions(+), 37 deletions(-) (limited to 'src/input') diff --git a/src/input/filter.c b/src/input/filter.c index b24ab56..f2d2c20 100644 --- a/src/input/filter.c +++ b/src/input/filter.c @@ -39,9 +39,6 @@ struct parserutils_filter { struct { uint16_t encoding; /**< Input encoding */ } settings; /**< Filter settings */ - - parserutils_alloc alloc; /**< Memory (de)allocation function */ - void *pw; /**< Client private data */ }; static parserutils_error filter_set_defaults(parserutils_filter *input); @@ -52,8 +49,6 @@ static parserutils_error filter_set_encoding(parserutils_filter *input, * Create an input filter * * \param int_enc Desired encoding of document - * \param alloc Function used to (de)allocate data - * \param pw Pointer to client-specific private data (may be NULL) * \param filter Pointer to location to receive filter instance * \return PARSERUTILS_OK on success, * PARSERUTILS_BADPARM on bad parameters, @@ -61,15 +56,15 @@ static parserutils_error filter_set_encoding(parserutils_filter *input, * PARSERUTILS_BADENCODING if the encoding is unsupported */ parserutils_error parserutils__filter_create(const char *int_enc, - parserutils_alloc alloc, void *pw, parserutils_filter **filter) + parserutils_filter **filter) { parserutils_filter *f; parserutils_error error; - if (int_enc == NULL || alloc == NULL || filter == NULL) + if (int_enc == NULL || filter == NULL) return PARSERUTILS_BADPARM; - f = alloc(NULL, sizeof(parserutils_filter), pw); + f = malloc(sizeof(parserutils_filter)); if (f == NULL) return PARSERUTILS_NOMEM; @@ -78,7 +73,7 @@ parserutils_error parserutils__filter_create(const char *int_enc, f->int_enc = parserutils_charset_mibenum_from_name( int_enc, strlen(int_enc)); if (f->int_enc == 0) { - alloc(f, 0, pw); + free(f); return PARSERUTILS_BADENCODING; } #else @@ -87,12 +82,9 @@ parserutils_error parserutils__filter_create(const char *int_enc, f->pivot_len = 0; #endif - f->alloc = alloc; - f->pw = pw; - error = filter_set_defaults(f); if (error != PARSERUTILS_OK) { - f->alloc(f, 0, pw); + free(f); return error; } @@ -104,7 +96,7 @@ parserutils_error parserutils__filter_create(const char *int_enc, parserutils_charset_codec_destroy(f->read_codec); f->read_codec = NULL; } - f->alloc(f, 0, pw); + free(f); return error; } #endif @@ -142,7 +134,7 @@ parserutils_error parserutils__filter_destroy(parserutils_filter *input) } #endif - input->alloc(input, 0, input->pw); + free(input); return PARSERUTILS_OK; } @@ -405,8 +397,7 @@ parserutils_error filter_set_encoding(parserutils_filter *input, input->read_codec = NULL; } - error = parserutils_charset_codec_create(enc, input->alloc, - input->pw, &input->read_codec); + error = parserutils_charset_codec_create(enc, &input->read_codec); if (error != PARSERUTILS_OK) return error; #endif diff --git a/src/input/filter.h b/src/input/filter.h index 13473f2..7f4c309 100644 --- a/src/input/filter.h +++ b/src/input/filter.h @@ -36,7 +36,7 @@ typedef union parserutils_filter_optparams { /* Create an input filter */ parserutils_error parserutils__filter_create(const char *int_enc, - parserutils_alloc alloc, void *pw, parserutils_filter **filter); + parserutils_filter **filter); /* Destroy an input filter */ parserutils_error parserutils__filter_destroy(parserutils_filter *input); 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; } -- cgit v1.2.3