summaryrefslogtreecommitdiff
path: root/src/parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser.c')
-rw-r--r--src/parser.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/parser.c b/src/parser.c
index 075a0e2..342f19b 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -40,6 +40,7 @@ struct hubbub_parser {
hubbub_parser *hubbub_parser_create(const char *enc, bool fix_enc,
hubbub_alloc alloc, void *pw)
{
+ parserutils_error perror;
hubbub_parser *parser;
if (alloc == NULL)
@@ -62,10 +63,10 @@ hubbub_parser *hubbub_parser_create(const char *enc, bool fix_enc,
}
}
- parser->stream = parserutils_inputstream_create(enc,
+ perror = parserutils_inputstream_create(enc,
enc != NULL ? HUBBUB_CHARSET_CONFIDENT : HUBBUB_CHARSET_UNKNOWN,
- hubbub_charset_extract, alloc, pw);
- if (parser->stream == NULL) {
+ hubbub_charset_extract, alloc, pw, &parser->stream);
+ if (perror != PARSERUTILS_OK) {
alloc(parser, 0, pw);
return NULL;
}