X-Git-Url: http://git.indexdata.com/?p=yazpp-moved-to-github.git;a=blobdiff_plain;f=src%2Fyaz-ir-assoc.cpp;h=a681bf0db8fcff468e22e0a43cfed927a77cc96e;hp=a96a356a5d95209af30166cc77dc6c8aa4e0ac89;hb=HEAD;hpb=9fef1c618f2f936041b3b58d61e406182033ab30 diff --git a/src/yaz-ir-assoc.cpp b/src/yaz-ir-assoc.cpp index a96a356..a681bf0 100644 --- a/src/yaz-ir-assoc.cpp +++ b/src/yaz-ir-assoc.cpp @@ -1,13 +1,17 @@ /* This file is part of the yazpp toolkit. - * Copyright (C) 1998-2009 Index Data and Mike Taylor + * Copyright (C) Index Data * See the file LICENSE for details. */ +#if HAVE_CONFIG_H +#include +#endif #include #include #include #include +#include using namespace yazpp_1; @@ -92,7 +96,7 @@ void IR_Assoc::set_databaseNames(const char *dblist, const char *sep) void IR_Assoc::set_preferredRecordSyntax (const char *syntax) { xfree(m_preferredRecordSyntax); - m_preferredRecordSyntax = 0; + m_preferredRecordSyntax = 0; if (syntax && *syntax) m_preferredRecordSyntax = xstrdup(syntax); } @@ -162,7 +166,7 @@ void IR_Assoc::recv_Z_PDU(Z_APDU *apdu, int len) recv_searchRequest(apdu->u.searchRequest); break; case Z_APDU_searchResponse: - yaz_log (m_log, "recv searchResponse"); + yaz_log (m_log, "recv searchResponse"); recv_searchResponse(apdu->u.searchResponse); break; case Z_APDU_presentRequest: @@ -203,7 +207,7 @@ int IR_Assoc::send_searchRequest(Yaz_Z_Query *query, assert (req->otherInfo == 0); if (m_cookie) { - set_otherInformationString(&req->otherInfo, yaz_oid_userinfo_cookie, + set_otherInformationString(&req->otherInfo, yaz_oid_userinfo_cookie, 1, m_cookie); assert (req->otherInfo); } @@ -221,10 +225,10 @@ int IR_Assoc::send_searchRequest(Yaz_Z_Query *query, return send_Z_PDU(apdu, 0); } -int IR_Assoc::send_presentRequest(int start, - int number, - char* pResultSetId, - char* pRefId) +int IR_Assoc::send_presentRequest(Odr_int start, + Odr_int number, + char* pResultSetId, + char* pRefId) { Z_APDU *apdu = create_Z_PDU(Z_APDU_presentRequest); Z_PresentRequest *req = apdu->u.presentRequest; @@ -251,7 +255,7 @@ int IR_Assoc::send_presentRequest(int start, } if (m_cookie) - set_otherInformationString(&req->otherInfo, yaz_oid_userinfo_cookie, + set_otherInformationString(&req->otherInfo, yaz_oid_userinfo_cookie, 1, m_cookie); if ( pRefId ) @@ -299,9 +303,10 @@ void IR_Assoc::client(const char *addr) delete [] m_host; m_host = new char[strlen(addr)+1]; strcpy(m_host, addr); - const char *dbpart = strchr(m_host, '/'); - if (dbpart) - set_databaseNames (dbpart+1, "+ "); + const char *dbpart = 0; + cs_get_host_args(m_host, &dbpart); + if (dbpart && *dbpart) + set_databaseNames (dbpart, "+ "); Z_Assoc::client(m_proxy ? m_proxy : m_host); } @@ -363,7 +368,7 @@ int IR_Assoc::send_initRequest(char* pRefId) { Z_APDU *apdu = create_Z_PDU(Z_APDU_initRequest); Z_InitRequest *req = apdu->u.initRequest; - + ODR_MASK_SET(req->options, Z_Options_search); ODR_MASK_SET(req->options, Z_Options_present); ODR_MASK_SET(req->options, Z_Options_namedResultSets); @@ -383,10 +388,10 @@ int IR_Assoc::send_initRequest(char* pRefId) } if (m_proxy && m_host) - set_otherInformationString(&req->otherInfo, yaz_oid_userinfo_proxy, + set_otherInformationString(&req->otherInfo, yaz_oid_userinfo_proxy, 1, m_host); if (m_cookie) - set_otherInformationString(&req->otherInfo, yaz_oid_userinfo_cookie, + set_otherInformationString(&req->otherInfo, yaz_oid_userinfo_cookie, 1, m_cookie); return send_Z_PDU(apdu, 0); } @@ -409,17 +414,17 @@ int IR_Assoc::send_deleteResultSetRequest(char* pResultSetId, char* pRefId) { *req->deleteFunction = Z_DeleteResultSetRequest_all; } - + if ( pRefId ) { req->referenceId = getRefID(pRefId); } if (m_proxy && m_host) - set_otherInformationString(&req->otherInfo, yaz_oid_userinfo_proxy, + set_otherInformationString(&req->otherInfo, yaz_oid_userinfo_proxy, 1, m_host); if (m_cookie) - set_otherInformationString(&req->otherInfo, yaz_oid_userinfo_cookie, + set_otherInformationString(&req->otherInfo, yaz_oid_userinfo_cookie, 1, m_cookie); return send_Z_PDU(apdu, 0); @@ -429,6 +434,7 @@ int IR_Assoc::send_deleteResultSetRequest(char* pResultSetId, char* pRefId) /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab