summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2015-02-27 16:56:42 +0000
committerBernard Normier <bernard@zeroc.com>2015-02-27 16:56:42 +0000
commit97e50ee5ae43e6e067eba7943453d7e61963ebe9 (patch)
tree324242c4fa8ac52510a4324b93fdf73b0fce16ce /cpp/src
parentICE-5967 add cancelation to Ice.Trace.Retry tracing (diff)
downloadice-97e50ee5ae43e6e067eba7943453d7e61963ebe9.tar.bz2
ice-97e50ee5ae43e6e067eba7943453d7e61963ebe9.tar.xz
ice-97e50ee5ae43e6e067eba7943453d7e61963ebe9.zip
ICE-6337: small fix to C++ source code to allow building with DB 6.x
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Freeze/MapDb.cpp24
-rw-r--r--cpp/src/Freeze/MapI.cpp4
-rw-r--r--cpp/src/IceGrid/Makefile4
-rw-r--r--cpp/src/IceStorm/Makefile2
4 files changed, 21 insertions, 13 deletions
diff --git a/cpp/src/Freeze/MapDb.cpp b/cpp/src/Freeze/MapDb.cpp
index 6ebc66d2174..a63edee9485 100644
--- a/cpp/src/Freeze/MapDb.cpp
+++ b/cpp/src/Freeze/MapDb.cpp
@@ -31,16 +31,20 @@ const string _catalogIndexListName = "__catalogIndexList";
extern "C"
{
-static int customCompare(DB* db, const DBT* dbt1, const DBT* dbt2)
-{
- MapDb* me = static_cast<MapDb*>(db->app_private);
- Ice::Byte* first = static_cast<Ice::Byte*>(dbt1->data);
- Key k1(first, first + dbt1->size);
- first = static_cast<Ice::Byte*>(dbt2->data);
- Key k2(first, first + dbt2->size);
-
- return me->getKeyCompare()->compare(k1, k2);
-}
+#if (DB_VERSION_MAJOR <= 5)
+ static int customCompare(DB* db, const DBT* dbt1, const DBT* dbt2)
+#else
+ static int customCompare(DB* db, const DBT* dbt1, const DBT* dbt2, size_t*)
+#endif
+ {
+ MapDb* me = static_cast<MapDb*>(db->app_private);
+ Ice::Byte* first = static_cast<Ice::Byte*>(dbt1->data);
+ Key k1(first, first + dbt1->size);
+ first = static_cast<Ice::Byte*>(dbt2->data);
+ Key k2(first, first + dbt2->size);
+
+ return me->getKeyCompare()->compare(k1, k2);
+ }
}
const string&
diff --git a/cpp/src/Freeze/MapI.cpp b/cpp/src/Freeze/MapI.cpp
index e6723623703..0b4ffa64a7d 100644
--- a/cpp/src/Freeze/MapI.cpp
+++ b/cpp/src/Freeze/MapI.cpp
@@ -1759,7 +1759,11 @@ Freeze::MapHelperI::closeAllIteratorsExcept(const IteratorHelperI::TxPtr& tx) co
extern "C"
{
+#if (DB_VERSION_MAJOR <= 5)
static int customIndexCompare(DB* db, const DBT* dbt1, const DBT* dbt2)
+#else
+ static int customIndexCompare(DB* db, const DBT* dbt1, const DBT* dbt2, size_t*)
+#endif
{
MapIndexI* me = static_cast<MapIndexI*>(db->app_private);
Byte* first = static_cast<Byte*>(dbt1->data);
diff --git a/cpp/src/IceGrid/Makefile b/cpp/src/IceGrid/Makefile
index 0fcb6e7e453..33ed98f7a81 100644
--- a/cpp/src/IceGrid/Makefile
+++ b/cpp/src/IceGrid/Makefile
@@ -114,12 +114,12 @@ $(ADMIN): $(ADMIN_OBJS) $(LIBTARGETS)
$(REGISTRY_SERVER): $(REGISTRY_SVR_OBJS) $(LIBTARGETS)
rm -f $@
$(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(REGISTRY_SVR_OBJS) -lIceGrid -lIceStorm -lIceStormService -lGlacier2 -lIcePatch2 \
- -lFreeze -lIceBox $(EXPAT_RPATH_LINK) -lIceXML -lIceSSL $(OPENSSL_RPATH_LINK) $(LIBS)
+ $(DB_RPATH_LINK) -lFreeze -lIceBox $(EXPAT_RPATH_LINK) -lIceXML -lIceSSL $(OPENSSL_RPATH_LINK) $(LIBS)
$(NODE_SERVER): $(NODE_SVR_OBJS) $(LIBTARGETS)
rm -f $@
$(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(NODE_SVR_OBJS) -lIceGrid -lIceStorm -lIceStormService -lIceBox -lGlacier2 \
- -lFreeze -lIcePatch2 $(EXPAT_RPATH_LINK) -lIceXML -lIceSSL $(OPENSSL_RPATH_LINK) $(LIBS)
+ $(DB_RPATH_LINK) -lFreeze -lIcePatch2 $(EXPAT_RPATH_LINK) -lIceXML -lIceSSL $(OPENSSL_RPATH_LINK) $(LIBS)
../IceLocatorDiscovery/%.h %.cpp: $(slicedir)/IceLocatorDiscovery/%.ice $(SLICE2CPP) $(SLICEPARSERLIB)
rm -f $(*F).h $(*F).cpp
diff --git a/cpp/src/IceStorm/Makefile b/cpp/src/IceStorm/Makefile
index 0d5b6f1b5f6..d382aa6b4f5 100644
--- a/cpp/src/IceStorm/Makefile
+++ b/cpp/src/IceStorm/Makefile
@@ -93,7 +93,7 @@ $(ADMIN): $(AOBJS) $(LIBTARGETS)
$(MIGRATE): $(MOBJS)
rm -f $@
- $(CXX) $(LDFLAGS) $(LDEXEFLAGS) -o $@ $(MOBJS) -lIceStorm -lFreeze $(LIBS)
+ $(CXX) $(LDFLAGS) $(DB_RPATH_LINK) $(LDEXEFLAGS) -o $@ $(MOBJS) -lIceStorm -lFreeze $(LIBS)
# The slice2freeze rules are structured like this to avoid issues with
# parallel make.