aboutsummaryrefslogtreecommitdiffstats
path: root/databases/dbtool/files/patch-engine.cc
diff options
context:
space:
mode:
Diffstat (limited to 'databases/dbtool/files/patch-engine.cc')
-rw-r--r--databases/dbtool/files/patch-engine.cc64
1 files changed, 64 insertions, 0 deletions
diff --git a/databases/dbtool/files/patch-engine.cc b/databases/dbtool/files/patch-engine.cc
new file mode 100644
index 000000000000..067bcef2656b
--- /dev/null
+++ b/databases/dbtool/files/patch-engine.cc
@@ -0,0 +1,64 @@
+engine.cc:539:46: error: non-constant-expression cannot be narrowed from type
+ 'std::__1::basic_string<char, std::__1::char_traits<char>,
+ std::__1::allocator<char> >::size_type' (aka 'unsigned long') to 'int' in
+ initializer list [-Wc++11-narrowing]
+ datum key = {(char *)config.key.c_str(), config.key.length()};
+ ^~~~~~~~~~~~~~~~~~~
+engine.cc:539:46: note: insert an explicit cast to silence this issue
+ datum key = {(char *)config.key.c_str(), config.key.length()};
+ ^~~~~~~~~~~~~~~~~~~
+ static_cast<int>( )
+
+--- engine.cc.orig 2018-06-17 15:07:26 UTC
++++ engine.cc
+@@ -324,8 +324,8 @@ void Engine::from_input() {
+ Dbt d_key((char *)key.c_str(), key.length());
+ Dbt d_value((char *)value.c_str(), value.length());
+ #else
+- datum d_key = {(char *)key.c_str(), key.length()};
+- datum d_value = {(char *)value.c_str(), value.length()};
++ datum d_key = {(char *)key.c_str(), static_cast<int>(key.length())};
++ datum d_value = {(char *)value.c_str(), static_cast<int>(value.length())};
+ #endif
+ if(config.force == 1) {
+ #ifdef HAVE_BERKELEY
+@@ -405,8 +405,8 @@ void Engine::insert() {
+ Dbt value(v, strlen(v));
+ #else
+ int ret;
+- datum key = {(char *)config.key.c_str(), config.key.length()};
+- datum value = {(char *)__value.c_str(), __value.length()};
++ datum key = {(char *)config.key.c_str(), static_cast<int>(config.key.length())};
++ datum value = {(char *)__value.c_str(), static_cast<int>(__value.length())};
+ #endif
+
+ if(config.force == 1) {
+@@ -465,8 +465,8 @@ void Engine::update() {
+ Dbt value(v, strlen(v));
+ #else
+ int ret;
+- datum key = {(char *)config.key.c_str(), config.key.length()};
+- datum value = {(char *)__value.c_str(), __value.length()};
++ datum key = {(char *)config.key.c_str(), static_cast<int>(config.key.length())};
++ datum value = {(char *)__value.c_str(), static_cast<int>(__value.length())};
+ #endif
+
+ if(config.force == 1) {
+@@ -536,7 +536,7 @@ void Engine::remove() {
+ }
+ db->close(0);
+ #else
+- datum key = {(char *)config.key.c_str(), config.key.length()};
++ datum key = {(char *)config.key.c_str(), static_cast<int>(config.key.length())};
+ ret = gdbm_delete(db, key);
+ gdbm_close(db);
+ #endif
+@@ -579,7 +579,7 @@ void Engine::select() {
+ db->close(0);
+ #else
+ datum content;
+- datum key = {(char *)config.key.c_str(), config.key.length()};
++ datum key = {(char *)config.key.c_str(), static_cast<int>(config.key.length())};
+ content = gdbm_fetch(db, key);
+ string V(content.dptr, content.dsize);
+ if(config.with == 1)