mirror of
https://github.com/Icinga/icinga2.git
synced 2025-07-22 13:14:32 +02:00
Avoid unnecessary casts in the JSON encoder
This commit is contained in:
parent
e26494bf08
commit
0b03ab854e
@ -81,12 +81,24 @@ static void Encode(yajl_gen handle, const Value& value)
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
case ValueObject:
|
case ValueObject:
|
||||||
if (value.IsObjectType<Dictionary>())
|
{
|
||||||
EncodeDictionary(handle, value);
|
const Object::Ptr& obj = value.Get<Object::Ptr>();
|
||||||
else if (value.IsObjectType<Array>())
|
Dictionary::Ptr dict = dynamic_pointer_cast<Dictionary>(obj);
|
||||||
EncodeArray(handle, value);
|
|
||||||
else
|
if (dict) {
|
||||||
yajl_gen_null(handle);
|
EncodeDictionary(handle, dict);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
Array::Ptr arr = dynamic_pointer_cast<Array>(obj);
|
||||||
|
|
||||||
|
if (arr) {
|
||||||
|
EncodeArray(handle, arr);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
yajl_gen_null(handle);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case ValueEmpty:
|
case ValueEmpty:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user