X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=index%2Fzaptterm.c;h=5e4edddaba6e2a3ba2ca2e8a595fcfd4c5c53ae0;hp=591e1c429b723bbcb5a7fe7ee1b7d0838bddc68b;hb=27bdd6aa26843aeac89f635ed495996088d8e8aa;hpb=89d3a004b7c651fd5673abfc192e1472dc4d4197 diff --git a/index/zaptterm.c b/index/zaptterm.c index 591e1c4..5e4eddd 100644 --- a/index/zaptterm.c +++ b/index/zaptterm.c @@ -1,8 +1,5 @@ -/* $Id: zaptterm.c,v 1.2 2007-01-15 15:10:17 adam Exp $ - Copyright (C) 1995-2007 - Index Data ApS - -This file is part of the Zebra server. +/* This file is part of the Zebra server. + Copyright (C) 2004-2013 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 @@ -20,6 +17,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +#if HAVE_CONFIG_H +#include +#endif #include #include #include @@ -50,13 +50,18 @@ 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; } + yaz_iconv(zh->iconv_to_utf8, 0, 0, &outbuf, &outleft); *outbuf = 0; } else @@ -84,7 +89,9 @@ ZEBRA_RES zapt_term_to_utf8(ZebraHandle zh, Z_AttributesPlusTerm *zapt, /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab */ +