X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;ds=sidebyside;f=src%2Fgduutil.cpp;h=47014d66387ced3f363d344caf58e3b6bab32fa2;hb=bb050094eaf8f0a8223a3bd2e9973d8d2e993154;hp=2d4164d06789a20e3f0d38ace5e35c4d882427f7;hpb=2f00992d42d660fe3b9cebe30f383d7d5fd08c3b;p=metaproxy-moved-to-github.git diff --git a/src/gduutil.cpp b/src/gduutil.cpp index 2d4164d..47014d6 100644 --- a/src/gduutil.cpp +++ b/src/gduutil.cpp @@ -1,5 +1,5 @@ -/* $Id: gduutil.cpp,v 1.15 2006-10-04 14:04:00 marc Exp $ - Copyright (c) 2005-2006, Index Data. +/* $Id: gduutil.cpp,v 1.20 2007-04-13 09:57:51 adam Exp $ + Copyright (c) 2005-2007, Index Data. See the LICENSE file for details */ @@ -8,6 +8,7 @@ #include "util.hpp" #include +#include #include #include @@ -129,7 +130,8 @@ std::ostream& std::operator<<(std::ostream& os, Z_APDU& zapdu) = zapdu.u.initRequest; Z_IdAuthentication *a = ir->idAuthentication; - if (a && a->which == Z_IdAuthentication_idPass ) + if (a && a->which == Z_IdAuthentication_idPass + && a->u.idPass->userId) os << a->u.idPass->userId << " "; //<< ":" << a->u.idPass->groupId << " "; else @@ -144,10 +146,13 @@ std::ostream& std::operator<<(std::ostream& os, Z_APDU& zapdu) else os << "-" << " " ; - os << (ir->implementationId) << " " - //<< ir->referenceId << " " - << (ir->implementationName) << " " - << (ir->implementationVersion); + if (ir->implementationId) + os << (ir->implementationId) << " "; + //<< ir->referenceId << " " + if (ir->implementationName) + os<< (ir->implementationName) << " "; + if (ir->implementationVersion) + os << (ir->implementationVersion) << " "; } break; case Z_APDU_initResponse: @@ -155,12 +160,16 @@ std::ostream& std::operator<<(std::ostream& os, Z_APDU& zapdu) { Z_InitResponse *ir = zapdu.u.initResponse; - if (ir->result && *(ir->result)) - os << "OK" << " " - << (ir->implementationId) << " " + if (ir->result && *(ir->result)){ + os << "OK" << " "; + if (ir->implementationId) + os << (ir->implementationId) << " "; //<< ir->referenceId << " " - << (ir->implementationName) << " " - << (ir->implementationVersion) << " "; + if (ir->implementationName) + os<< (ir->implementationName) << " "; + if (ir->implementationVersion) + os << (ir->implementationVersion) << " "; + } else os << "DIAG"; } @@ -182,8 +191,8 @@ std::ostream& std::operator<<(std::ostream& os, Z_APDU& zapdu) WRBUF wr = wrbuf_alloc(); yaz_query_to_wrbuf(wr, sr->query); - os << wrbuf_buf(wr); - wrbuf_free(wr, 1); + os << wrbuf_cstr(wr); + wrbuf_destroy(wr); } break; case Z_APDU_searchResponse: @@ -233,12 +242,19 @@ std::ostream& std::operator<<(std::ostream& os, Z_APDU& zapdu) else os << " -"; if (pr->preferredRecordSyntax) - //os << " " << pr->preferredRecordSyntax; - os << " " <<(oid_getentbyoid(pr->preferredRecordSyntax))->desc; + { + char oid_name_str[OID_STR_MAX]; + const char *oid_name = yaz_oid_to_string_buf( + pr->preferredRecordSyntax, 0, oid_name_str); + + os << " " << oid_name; + } else os << " -"; - if (pr->recordComposition) - os << " " << mp_util::record_composition_to_esn(pr->recordComposition); + const char * msg = 0; + if (pr->recordComposition + && (msg = mp_util::record_composition_to_esn(pr->recordComposition))) + os << " " << msg; else os << " -"; } @@ -333,9 +349,10 @@ std::ostream& std::operator<<(std::ostream& os, Z_APDU& zapdu) if (sr->termListAndStartPoint) { WRBUF wr = wrbuf_alloc(); - yaz_scan_to_wrbuf(wr, sr->termListAndStartPoint, VAL_NONE); - os << wrbuf_buf(wr); - wrbuf_free(wr, 1); + yaz_scan_to_wrbuf(wr, sr->termListAndStartPoint, + sr->attributeSet); + os << wrbuf_cstr(wr); + wrbuf_destroy(wr); } else os << " -";