ports/databases/dbtool/files/patch-engine.cc
Tobias Kortkamp fd4528a7ce databases/dbtool: Unbreak with Clang 6
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>(  )

http://beefy12.nyi.freebsd.org/data/head-amd64-default/p472224_s334983/logs/dbtool-1.9.1.log
2018-06-17 19:06:51 +00:00

64 lines
2.6 KiB
C++

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)