-/* $Id: filter_multi.cpp,v 1.20 2006-05-16 11:53:53 adam Exp $
+/* $Id: filter_multi.cpp,v 1.24 2006-08-30 12:27:34 adam Exp $
Copyright (c) 2005-2006, Index Data.
-%LICENSE%
+ See the LICENSE file for details
*/
#include "config.hpp"
std::list<std::string> targets;
- mp::util::get_vhost_otherinfo(&req->otherInfo, false, targets);
+ mp::util::get_vhost_otherinfo(req->otherInfo, targets);
if (targets.size() < 1)
{
odr_malloc(odr, sizeof(Z_NamePlusRecord *) * nprl->num_records);
int i = 0;
std::list<Multi::FrontendSet::PresentJob>::const_iterator jit;
- for (jit = jobs.begin(); jit != jobs.end(); jit++)
+ for (jit = jobs.begin(); jit != jobs.end(); jit++, i++)
{
PackagePtr p = jit->m_backend->m_package;
Z_APDU *b_apdu = gdu->u.z3950;
Z_PresentResponse *b_resp = b_apdu->u.presentResponse;
- nprl->records[i++] =
- b_resp->records->u.databaseOrSurDiagnostics->
- records[jit->m_inside_pos];
+ nprl->records[i] = (Z_NamePlusRecord*)
+ odr_malloc(odr, sizeof(Z_NamePlusRecord));
+ *nprl->records[i] = *b_resp->records->
+ u.databaseOrSurDiagnostics->records[jit->m_inside_pos];
+ nprl->records[i]->databaseName =
+ odr_strdup(odr, jit->m_backend->m_vhost.c_str());
}
*f_resp->nextResultSetPosition = start + i;
*f_resp->numberOfRecordsReturned = i;