summaryrefslogtreecommitdiff
path: root/src/input
diff options
context:
space:
mode:
Diffstat (limited to 'src/input')
-rw-r--r--src/input/filter.c25
-rw-r--r--src/input/filter.h2
-rw-r--r--src/input/inputstream.c29
3 files changed, 19 insertions, 37 deletions
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;
}