X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=client%2Fclient.c;h=31e607786c221cd5d68f591f9648b87a7822d881;hb=62fd62f25a6893d042c4c87f8c770929fd8cf95d;hp=665773b66561739eba1a7b9200c271e03cdf08cd;hpb=6b90776a33987cb5df962be1db7c28b63e2213dd;p=yaz-moved-to-github.git diff --git a/client/client.c b/client/client.c index 665773b..31e6077 100644 --- a/client/client.c +++ b/client/client.c @@ -2,7 +2,7 @@ * Copyright (C) 1995-2007, Index Data ApS * See the file LICENSE for details. * - * $Id: client.c,v 1.328 2007-03-14 11:46:37 adam Exp $ + * $Id: client.c,v 1.330 2007-03-19 22:17:41 adam Exp $ */ /** \file client.c * \brief yaz-client program @@ -938,8 +938,8 @@ static void display_record(Z_External *r) #endif ) { - char *result; - int rlen; + const char *result; + size_t rlen; yaz_iconv_t cd = 0; yaz_marc_t mt = yaz_marc_create(); const char *from = 0; @@ -972,7 +972,7 @@ static void display_record(Z_External *r) } } - if (yaz_marc_decode_buf(mt, octet_buf,r->u.octet_aligned->len, + if (yaz_marc_decode_buf(mt, octet_buf, r->u.octet_aligned->len, &result, &rlen)> 0) { fwrite (result, rlen, 1, stdout); @@ -1017,8 +1017,8 @@ static void display_record(Z_External *r) } w = wrbuf_alloc(); yaz_display_grs1(w, r->u.grs1, 0); - puts (wrbuf_buf(w)); - wrbuf_free(w, 1); + puts (wrbuf_cstr(w)); + wrbuf_destroy(w); } else if (ent && ent->value == VAL_OPAC) { @@ -1302,19 +1302,16 @@ static char *encode_SRW_term(ODR o, const char *q) cd = yaz_iconv_open("UTF-8", in_charset); if (!cd) { - wrbuf_free(w, 1); + wrbuf_destroy(w); return odr_strdup(o, q); } wrbuf_iconv_write(w, cd, q, strlen(q)); if (wrbuf_len(w)) - { - int len = wrbuf_len(w); - res = odr_strdupn(o, wrbuf_buf(w), len); - } + res = odr_strdup(o, wrbuf_cstr(w)); else res = odr_strdup(o, q); yaz_iconv_close(cd); - wrbuf_free(w, 1); + wrbuf_destroy(w); return res; }