Mercurial > hg > freeDiameter
comparison extensions/dbg_dict_dump_json/dbg_dict_dump_json.cc @ 1456:8627338e36ab
fix dbg_dict_dump_json build
Cast to jsoncpp *Int64 types as they may differ from *int64_t.
Don't rely upon C++11 support in compilers.
author | Luke Mewburn <luke@mewburn.net> |
---|---|
date | Fri, 28 Feb 2020 10:21:52 +1100 |
parents | 159d80986d85 |
children | da5e5b9c9623 |
comparison
equal
deleted
inserted
replaced
1455:75b6ec7c70b3 | 1456:8627338e36ab |
---|---|
102 case AVP_TYPE_INTEGER32: | 102 case AVP_TYPE_INTEGER32: |
103 enumval["Code"] = Json::Value(data->enum_value.i32); | 103 enumval["Code"] = Json::Value(data->enum_value.i32); |
104 break; | 104 break; |
105 | 105 |
106 case AVP_TYPE_INTEGER64: | 106 case AVP_TYPE_INTEGER64: |
107 enumval["Code"] = Json::Value(data->enum_value.i64); | 107 enumval["Code"] = Json::Value(static_cast<Json::Int64>(data->enum_value.i64)); |
108 break; | 108 break; |
109 | 109 |
110 case AVP_TYPE_UNSIGNED32: | 110 case AVP_TYPE_UNSIGNED32: |
111 enumval["Code"] = Json::Value(data->enum_value.u32); | 111 enumval["Code"] = Json::Value(data->enum_value.u32); |
112 break; | 112 break; |
113 | 113 |
114 case AVP_TYPE_UNSIGNED64: | 114 case AVP_TYPE_UNSIGNED64: |
115 enumval["Code"] = Json::Value(data->enum_value.u64); | 115 enumval["Code"] = Json::Value(static_cast<Json::UInt64>(data->enum_value.u64)); |
116 break; | 116 break; |
117 | 117 |
118 case AVP_TYPE_FLOAT32: | 118 case AVP_TYPE_FLOAT32: |
119 enumval["Code"] = Json::Value(data->enum_value.f32); | 119 enumval["Code"] = Json::Value(data->enum_value.f32); |
120 break; | 120 break; |
411 return EINVAL; | 411 return EINVAL; |
412 } | 412 } |
413 /* remove enumerated types before dumping, they are in AVPs */ | 413 /* remove enumerated types before dumping, they are in AVPs */ |
414 /* convert remaining ones to array */ | 414 /* convert remaining ones to array */ |
415 Json::Value::Members members = main["Types"].getMemberNames(); | 415 Json::Value::Members members = main["Types"].getMemberNames(); |
416 for (auto it = members.begin() ; it != members.end(); ++it) { | 416 for (Json::Value::Members::const_iterator it = members.begin() ; it != members.end(); ++it) { |
417 if (strncmp("Enumerated", main["Types"][*it]["Name"].asCString(), strlen("Enumerated")) == 0) { | 417 if (strncmp("Enumerated", main["Types"][*it]["Name"].asCString(), strlen("Enumerated")) == 0) { |
418 main["Types"].removeMember(*it); | 418 main["Types"].removeMember(*it); |
419 } else { | 419 } else { |
420 types.append(main["Types"][*it]); | 420 types.append(main["Types"][*it]); |
421 } | 421 } |