From 007c7b16ab269fc16cc4d3a337d3b84319097368 Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Tue, 6 Jan 2009 00:18:19 +0000 Subject: Make input filter correctly return _BADENCODING. svn path=/trunk/libparserutils/; revision=5964 --- src/input/filter.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/input/filter.c') 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); -- cgit v1.2.3