X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=index%2Fzaptterm.c;h=425dfa355007e9f5ecc222bc2a26213629851a17;hp=6da8bb5c323a353ed86c6840a62d34e2a9bbebbc;hb=99842ec71f065fd6886daa355923b01d9ce71d26;hpb=a66b7d79383ae700f3358731eecfe2aafed0e90d diff --git a/index/zaptterm.c b/index/zaptterm.c index 6da8bb5..425dfa3 100644 --- a/index/zaptterm.c +++ b/index/zaptterm.c @@ -1,5 +1,5 @@ /* This file is part of the Zebra server. - Copyright (C) 1994-2010 Index Data + Copyright (C) 1994-2011 Index Data Zebra is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free @@ -17,6 +17,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +#if HAVE_CONFIG_H +#include +#endif #include #include #include @@ -47,9 +50,13 @@ ZEBRA_RES zapt_term_to_utf8(ZebraHandle zh, Z_AttributesPlusTerm *zapt, &outbuf, &outleft); if (ret == (size_t)(-1)) { + int iconv_error = yaz_iconv_error(zh->iconv_to_utf8); + ret = yaz_iconv(zh->iconv_to_utf8, 0, 0, 0, 0); zebra_setError( - zh, + zh, + iconv_error == YAZ_ICONV_E2BIG ? + YAZ_BIB1_TOO_MANY_CHARS_IN_SEARCH_STATEMENT : YAZ_BIB1_QUERY_TERM_INCLUDES_CHARS_THAT_DO_NOT_TRANSLATE_INTO_, 0); return ZEBRA_FAIL;