diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2009-01-06 00:18:19 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2009-01-06 00:18:19 +0000 |
commit | 007c7b16ab269fc16cc4d3a337d3b84319097368 (patch) | |
tree | a7105d61bdbb50cd7734ef602453639246e629d7 /src/input/filter.c | |
parent | 0d791659e1150154404bf311bf706063b65303e8 (diff) | |
download | libparserutils-007c7b16ab269fc16cc4d3a337d3b84319097368.tar.gz libparserutils-007c7b16ab269fc16cc4d3a337d3b84319097368.tar.bz2 |
Make input filter correctly return _BADENCODING.
svn path=/trunk/libparserutils/; revision=5964
Diffstat (limited to 'src/input/filter.c')
-rw-r--r-- | src/input/filter.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/input/filter.c b/src/input/filter.c index 7ed4ec6..7d7b340 100644 --- a/src/input/filter.c +++ b/src/input/filter.c @@ -381,7 +381,7 @@ parserutils_error filter_set_encoding(parserutils_filter *input, mibenum = parserutils_charset_mibenum_from_name(enc, strlen(enc)); if (mibenum == 0) - return PARSERUTILS_INVALID; + return PARSERUTILS_BADENCODING; /* Exit early if we're already using this encoding */ if (input->settings.encoding == mibenum) @@ -399,8 +399,10 @@ parserutils_error filter_set_encoding(parserutils_filter *input, input->cd = iconv_open( parserutils_charset_mibenum_to_name(input->int_enc), enc); - if (input->cd == (iconv_t) -1) - return PARSERUTILS_NOMEM; + if (input->cd == (iconv_t) -1) { + return (errno == EINVAL) ? PARSERUTILS_BADENCODING + : PARSERUTILS_NOMEM; + } #else if (input->read_codec != NULL) { parserutils_charset_codec_destroy(input->read_codec); |