projects
/
metaproxy-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use YAZ backtrace facility MP-582
[metaproxy-moved-to-github.git]
/
src
/
filter_multi.cpp
diff --git
a/src/filter_multi.cpp
b/src/filter_multi.cpp
index
b1452c3
..
3b1d6f3
100644
(file)
--- a/
src/filter_multi.cpp
+++ b/
src/filter_multi.cpp
@@
-1,5
+1,5
@@
/* This file is part of Metaproxy.
/* This file is part of Metaproxy.
- Copyright (C) 2005-2013 Index Data
+ Copyright (C) Index Data
Metaproxy is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Metaproxy is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
@@
-35,6
+35,7
@@
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#include <yaz/otherinfo.h>
#include <yaz/diagbib1.h>
#include <yaz/match_glob.h>
#include <yaz/otherinfo.h>
#include <yaz/diagbib1.h>
#include <yaz/match_glob.h>
+#include <yaz/oid_db.h>
#include <vector>
#include <algorithm>
#include <vector>
#include <algorithm>
@@
-444,6
+445,13
@@
void yf::Multi::Frontend::init(mp::Package &package, Z_GDU *gdu)
*breq->preferredMessageSize = *req->preferredMessageSize;
*breq->maximumRecordSize = *req->maximumRecordSize;
*breq->preferredMessageSize = *req->preferredMessageSize;
*breq->maximumRecordSize = *req->maximumRecordSize;
+
+ const char *peer_name = yaz_oi_get_string_oid(
+ &req->otherInfo, yaz_oid_userinfo_client_ip, 1, 0);
+ if (peer_name)
+ yaz_oi_set_string_oid(&breq->otherInfo, odr,
+ yaz_oid_userinfo_client_ip, 1, peer_name);
+
ODR_MASK_SET(breq->options, Z_Options_search);
ODR_MASK_SET(breq->options, Z_Options_present);
ODR_MASK_SET(breq->options, Z_Options_namedResultSets);
ODR_MASK_SET(breq->options, Z_Options_search);
ODR_MASK_SET(breq->options, Z_Options_present);
ODR_MASK_SET(breq->options, Z_Options_namedResultSets);
@@
-957,15
+965,13
@@
Z_Entry *yf::Multi::ScanTermInfo::get_entry(ODR odr)
t->byAttributes = 0;
t->otherTermInfo = 0;
t->globalOccurrences = odr_intdup(odr, m_count);
t->byAttributes = 0;
t->otherTermInfo = 0;
t->globalOccurrences = odr_intdup(odr, m_count);
- t->term = (Z_Term *)
- odr_malloc(odr, sizeof(*t->term));
+ t->term = (Z_Term *) odr_malloc(odr, sizeof(*t->term));
t->term->which = Z_Term_general;
t->term->which = Z_Term_general;
- Odr_oct *o;
- t->term->u.general = o = (Odr_oct *)odr_malloc(odr, sizeof(Odr_oct));
-
- o->len = o->size = m_norm_term.size();
- o->buf = (unsigned char *) odr_malloc(odr, o->len);
- memcpy(o->buf, m_norm_term.c_str(), o->len);
+ t->term->u.general = odr_create_Odr_oct(odr,
+#if YAZ_VERSIONL < 0x50000
+ (unsigned char *)
+#endif
+ m_norm_term.c_str(), m_norm_term.size());
return e;
}
return e;
}