projects
/
yazpp-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Handle present out of range better in sample server.
[yazpp-moved-to-github.git]
/
src
/
yaz-z-server.cpp
diff --git
a/src/yaz-z-server.cpp
b/src/yaz-z-server.cpp
index
10aba4d
..
8e475e2
100644
(file)
--- a/
src/yaz-z-server.cpp
+++ b/
src/yaz-z-server.cpp
@@
-1,8
+1,8
@@
/*
/*
- * Copyright (c) 2000-2001, Index Data.
+ * Copyright (c) 2000-2004, Index Data.
* See the file LICENSE for details.
*
* See the file LICENSE for details.
*
- * $Id: yaz-z-server.cpp,v 1.15 2002-10-09 12:50:26 adam Exp $
+ * $Id: yaz-z-server.cpp,v 1.20 2004-12-13 20:50:54 adam Exp $
*/
#include <yaz/log.h>
*/
#include <yaz/log.h>
@@
-48,7
+48,15
@@
void Yaz_Z_Server::facility_add(IYaz_Server_Facility *facility,
(*p)->m_facility = facility;
}
(*p)->m_facility = facility;
}
-void Yaz_Z_Server::recv_Z_PDU (Z_APDU *apdu_request)
+void Yaz_Z_Server::recv_GDU (Z_GDU *apdu, int len)
+{
+ if (apdu->which == Z_GDU_Z3950)
+ recv_Z_PDU(apdu->u.z3950, len);
+ else
+ delete this;
+}
+
+void Yaz_Z_Server::recv_Z_PDU (Z_APDU *apdu_request, int len)
{
Yaz_Z_Server_Facility_Info *f = m_facilities;
{
Yaz_Z_Server_Facility_Info *f = m_facilities;
@@
-77,7
+85,7
@@
void Yaz_Z_Server::recv_Z_PDU (Z_APDU *apdu_request)
f = f->m_next;
}
transfer_referenceId(apdu_request, apdu_response);
f = f->m_next;
}
transfer_referenceId(apdu_request, apdu_response);
- send_Z_PDU(apdu_response);
+ send_Z_PDU(apdu_response, 0);
}
else
{
}
else
{
@@
-92,7
+100,7
@@
void Yaz_Z_Server::recv_Z_PDU (Z_APDU *apdu_request)
}
if (!taken)
{
}
if (!taken)
{
- yaz_log (LOG_WARN, "unhandled request = %d", apdu_request->which);
+ yaz_log (YLOG_WARN, "unhandled request = %d", apdu_request->which);
delete this;
}
}
delete this;
}
}
@@
-123,7
+131,7
@@
void Yaz_Z_ServerUtility::create_surrogateDiagnostics(
Z_DefaultDiagFormat *dr = (Z_DefaultDiagFormat *)
odr_malloc (odr, sizeof(*dr));
Z_DefaultDiagFormat *dr = (Z_DefaultDiagFormat *)
odr_malloc (odr, sizeof(*dr));
- yaz_log(LOG_DEBUG, "SurrogateDiagnotic: %d -- %s", error, addinfo);
+ yaz_log(YLOG_DEBUG, "SurrogateDiagnotic: %d -- %s", error, addinfo);
*err = error;
rec->databaseName = dbname ? odr_strdup (odr, dbname) : 0;
rec->which = Z_NamePlusRecord_surrogateDiagnostic;
*err = error;
rec->databaseName = dbname ? odr_strdup (odr, dbname) : 0;
rec->which = Z_NamePlusRecord_surrogateDiagnostic;