X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fzoom-c.c;h=290fb2fc7fa24f7de420ba07e1768517d4add321;hp=e05de203c4e9b4c6baea7152605a8e80c1ebdf6a;hb=5d493e5a4ce6300660debe3e2ad82c21592039ca;hpb=3a3d99725a71801f9fc5308e21a4d7f7a325cbdd diff --git a/src/zoom-c.c b/src/zoom-c.c index e05de20..290fb2f 100644 --- a/src/zoom-c.c +++ b/src/zoom-c.c @@ -1635,12 +1635,19 @@ static zoom_ret ZOOM_connection_send_search(ZOOM_connection c) yaz_iconv_t cd = yaz_iconv_open(cp, "UTF-8"); if (cd) { + int r; search_req->query = yaz_copy_Z_Query(search_req->query, c->odr_out); - yaz_query_charset_convert_rpnquery(search_req->query->u.type_1, - c->odr_out, cd); + r = yaz_query_charset_convert_rpnquery_check( + search_req->query->u.type_1, + c->odr_out, cd); yaz_iconv_close(cd); + if (r) + { /* query could not be char converted */ + set_ZOOM_error(c, ZOOM_ERROR_INVALID_QUERY, 0); + return zoom_complete; + } } } }