X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=src%2Ffilter_virt_db.cpp;h=f2420bf2d2ac4c70c4d59f0f4a7825ff93ea37f0;hb=7e6c60abf88038e050951cf31b322f2883e815f7;hp=b58375730014b510646002dc31f3d0e15fe55290;hpb=a61bc43a600095cd5066021f5239a25e78eff082;p=metaproxy-moved-to-github.git diff --git a/src/filter_virt_db.cpp b/src/filter_virt_db.cpp index b583757..f2420bf 100644 --- a/src/filter_virt_db.cpp +++ b/src/filter_virt_db.cpp @@ -233,7 +233,7 @@ yf::VirtualDB::BackendPtr yf::VirtualDB::Frontend::init_backend( Z_GDU *gdu = init_package.response().get(); // we hope to get an init response - error_code = YAZ_BIB1_DATABASE_UNAVAILABLE; + error_code = 0; if (gdu && gdu->which == Z_GDU_Z3950 && gdu->u.z3950->which == Z_APDU_initResponse) { @@ -249,6 +249,13 @@ yf::VirtualDB::BackendPtr yf::VirtualDB::Frontend::init_backend( } mp::util::get_init_diagnostics(res, error_code, addinfo); } + if (error_code == 0) + { + std::list::const_iterator db_it = databases.begin(); + error_code = YAZ_BIB1_ACCESS_TO_SPECIFIED_DATABASE_DENIED; + if (db_it != databases.end()) + addinfo = *db_it; + } if (!init_package.session().is_closed()) { Package close_package(b->m_backend_session, package.origin());