case json_object_int_type_uint64:
return (jso->o.c_int.cint.c_uint64 != 0);
default:
- assert(0);
+ assert(!"invalid cint_type");
}
case json_type_double:
return (jso->o.c_double != 0);
return INT64_MAX;
return (int64_t)jso->o.c_int.cint.c_uint64;
default:
- assert(0);
+ assert(!"invalid cint_type");
}
case json_type_double:
// INT64_MAX can't be exactly represented as a double
case json_object_int_type_uint64:
return jso->o.c_int.cint.c_uint64;
default:
- assert(0);
+ assert(!"invalid cint_type");
}
case json_type_double:
// UINT64_MAX can't be exactly represented as a double
}
return 1;
default:
- assert(0);
+ assert(!"invalid cint_type");
}
}
case json_object_int_type_uint64:
return jso->o.c_int.cint.c_uint64;
default:
- assert(0);
+ assert(!"invalid cint_type");
}
case json_type_boolean:
return jso->o.c_boolean;
return (jso1->o.c_double == jso2->o.c_double);
case json_type_int:
- if (jso1->o.c_int.cint_type == json_object_int_type_int64) {
- if (jso2->o.c_int.cint_type == json_object_int_type_int64) {
+ if (jso1->o.c_int.cint_type == json_object_int_type_int64)
+ {
+ if (jso2->o.c_int.cint_type == json_object_int_type_int64)
return (jso1->o.c_int.cint.c_int64 == jso2->o.c_int.cint.c_int64);
- } else {
- if (jso1->o.c_int.cint.c_int64 < 0)
- return 0;
- return ((uint64_t)jso1->o.c_int.cint.c_int64 == jso2->o.c_int.cint.c_uint64);
- }
- } else {
- if (jso2->o.c_int.cint_type == json_object_int_type_uint64) {
- return (jso1->o.c_int.cint.c_uint64 == jso2->o.c_int.cint.c_uint64);
- } else {
- if (jso2->o.c_int.cint.c_int64 < 0)
- return 0;
- return (jso1->o.c_int.cint.c_uint64 == (uint64_t)jso2->o.c_int.cint.c_int64);
- }
+ if (jso1->o.c_int.cint.c_int64 < 0)
+ return 0;
+ return ((uint64_t)jso1->o.c_int.cint.c_int64 == jso2->o.c_int.cint.c_uint64);
}
+ // else jso1 is a uint64
+ if (jso2->o.c_int.cint_type == json_object_int_type_uint64)
+ return (jso1->o.c_int.cint.c_uint64 == jso2->o.c_int.cint.c_uint64);
+ if (jso2->o.c_int.cint.c_int64 < 0)
+ return 0;
+ return (jso1->o.c_int.cint.c_uint64 == (uint64_t)jso2->o.c_int.cint.c_int64);
case json_type_string:
return (jso1->o.c_string.len == jso2->o.c_string.len &&
*dst = json_object_new_uint64(src->o.c_int.cint.c_uint64);
break;
default:
- assert(0);
+ assert(!"invalid cint_type");
}
break;