summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDom Lachowicz <domlachowicz@gmail.com>2003-10-13 18:20:36 +0000
committerDom Lachowicz <domlachowicz@gmail.com>2003-10-13 18:20:36 +0000
commit96f2eae12fec761be96cdec8ac42395982b149bc (patch)
tree8a001b3e79f92d113dd73665d4ceb15812fee91a
parent6b2cc812272f8010b61c12759782910b85494dc8 (diff)
downloadenchant-96f2eae12fec761be96cdec8ac42395982b149bc.tar.gz
some iconv error return condition checks
git-svn-id: svn+ssh://svn.abisource.com/svnroot/enchant/trunk@20870 bcba8976-2d24-0410-9c9c-aab3bd5fdfd6
-rw-r--r--src/ispell/ispell_checker.cpp6
-rw-r--r--src/myspell/myspell_checker.cpp8
2 files changed, 10 insertions, 4 deletions
diff --git a/src/ispell/ispell_checker.cpp b/src/ispell/ispell_checker.cpp
index e27117d..8a368b7 100644
--- a/src/ispell/ispell_checker.cpp
+++ b/src/ispell/ispell_checker.cpp
@@ -252,7 +252,8 @@ ISpellChecker::checkWord(const char * const utf8Word, size_t length)
len_in = length * sizeof(char);
len_out = sizeof( szWord ) - 1;
- g_iconv(m_translate_in, &In, &len_in, &Out, &len_out);
+ if ((size_t)-1 == g_iconv(m_translate_in, &In, &len_in, &Out, &len_out))
+ return false;
*Out = '\0';
}
@@ -294,7 +295,8 @@ ISpellChecker::suggestWord(const char * const utf8Word, size_t length,
char *Out = word8;
len_in = length;
len_out = sizeof( word8 ) - 1;
- g_iconv(m_translate_in, &In, &len_in, &Out, &len_out);
+ if ((size_t)-1 == g_iconv(m_translate_in, &In, &len_in, &Out, &len_out))
+ return NULL;
*Out = '\0';
}
diff --git a/src/myspell/myspell_checker.cpp b/src/myspell/myspell_checker.cpp
index 61d61e8..4c4108e 100644
--- a/src/myspell/myspell_checker.cpp
+++ b/src/myspell/myspell_checker.cpp
@@ -92,7 +92,8 @@ MySpellChecker::checkWord(const char *utf8Word, size_t len)
char *out = word8;
size_t len_in = len * sizeof(char);
size_t len_out = sizeof( word8 ) - 1;
- g_iconv(m_translate_in, &in, &len_in, &out, &len_out);
+ if ((size_t)-1 == g_iconv(m_translate_in, &in, &len_in, &out, &len_out))
+ return false;
*out = '\0';
if (myspell->spell(word8))
return true;
@@ -107,12 +108,15 @@ MySpellChecker::suggestWord(const char* const utf8Word, size_t len, size_t *nsug
|| !g_iconv_is_valid(m_translate_in)
|| !g_iconv_is_valid(m_translate_out))
return 0;
+
char *in = (char*) utf8Word;
char word8[MAXWORDLEN + 1];
char *out = word8;
size_t len_in = len;
size_t len_out = sizeof(word8) - 1;
- g_iconv(m_translate_in, &in, &len_in, &out, &len_out);
+ if ((size_t)-1 == g_iconv(m_translate_in, &in, &len_in, &out, &len_out))
+ return NULL;
+
*out = '\0';
char **sugMS;
*nsug = myspell->suggest(&sugMS, word8);