X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Ffilter_z3950_client.cpp;h=fe3049e4e650f80569d71d53d7d5cda4ca6346fe;hb=3fa135948842dbec0c5e972034971d097041f99d;hp=53d0762f18289e0d5b2895b922e1241e6244930b;hpb=50597d2f7d3607e91c94601eb8eb495d73be3eae;p=metaproxy-moved-to-github.git diff --git a/src/filter_z3950_client.cpp b/src/filter_z3950_client.cpp index 53d0762..fe3049e 100644 --- a/src/filter_z3950_client.cpp +++ b/src/filter_z3950_client.cpp @@ -174,18 +174,20 @@ void yf::Z3950Client::Assoc::fixup_nsd(ODR odr, Z_Records *records) if (records && records->which == Z_Records_NSD) { Z_DefaultDiagFormat *nsd = records->u.nonSurrogateDiagnostic; - if (nsd->which == Z_DiagRec_defaultFormat) - { - std::string addinfo; + std::string addinfo; + + // should really check for nsd->which.. But union has two members + // containing almost same data + // char *v2Addinfo; + // Z_InternationalString *v3Addinfo; - if (nsd->u.v2Addinfo) - { - addinfo.assign(nsd->u.v2Addinfo); - addinfo += " "; - } - addinfo += "(backend=" + m_host + ")"; - nsd->u.v2Addinfo = odr_strdup(odr, addinfo.c_str()); + if (nsd->u.v2Addinfo) + { + addinfo.assign(nsd->u.v2Addinfo); + addinfo += " "; } + addinfo += "(backend=" + m_host + ")"; + nsd->u.v2Addinfo = odr_strdup(odr, addinfo.c_str()); } }