1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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)
|