mirror of
https://github.com/systemd/systemd.git
synced 2025-01-11 09:18:07 +03:00
json: add new JSON_BUILD_CONST_STRING() macro
This macro is like JSON_BUILD_STRING() but uses our json library's ability to use literal strings directly as JsonVariant objects. The changes all our codebase to use this new macro whenever we build JSON objects from literal strings. (I tried to make this automatic, i.e. to detect in JSON_BUILD_STRING() whether something is a literal string nicely and thus do this stuff automatically, but I couldn't find a way.) This should reduce memory usage of our JSON code a bit. Constant strings we use very often will now be shared and mapped directly from the ELF image.
This commit is contained in:
parent
e2c7efd329
commit
0cdf6b14a5
@ -31,12 +31,12 @@ static int build_user_json(const char *user_name, uid_t uid, JsonVariant **ret)
|
||||
JSON_BUILD_PAIR("userName", JSON_BUILD_STRING(user_name)),
|
||||
JSON_BUILD_PAIR("uid", JSON_BUILD_UNSIGNED(uid)),
|
||||
JSON_BUILD_PAIR("gid", JSON_BUILD_UNSIGNED(uid)),
|
||||
JSON_BUILD_PAIR("realName", JSON_BUILD_STRING("Dynamic User")),
|
||||
JSON_BUILD_PAIR("homeDirectory", JSON_BUILD_STRING("/")),
|
||||
JSON_BUILD_PAIR("shell", JSON_BUILD_STRING(NOLOGIN)),
|
||||
JSON_BUILD_PAIR("realName", JSON_BUILD_CONST_STRING("Dynamic User")),
|
||||
JSON_BUILD_PAIR("homeDirectory", JSON_BUILD_CONST_STRING("/")),
|
||||
JSON_BUILD_PAIR("shell", JSON_BUILD_CONST_STRING(NOLOGIN)),
|
||||
JSON_BUILD_PAIR("locked", JSON_BUILD_BOOLEAN(true)),
|
||||
JSON_BUILD_PAIR("service", JSON_BUILD_STRING("io.systemd.DynamicUser")),
|
||||
JSON_BUILD_PAIR("disposition", JSON_BUILD_STRING("dynamic"))))));
|
||||
JSON_BUILD_PAIR("service", JSON_BUILD_CONST_STRING("io.systemd.DynamicUser")),
|
||||
JSON_BUILD_PAIR("disposition", JSON_BUILD_CONST_STRING("dynamic"))))));
|
||||
}
|
||||
|
||||
static bool user_match_lookup_parameters(LookupParameters *p, const char *name, uid_t uid) {
|
||||
@ -339,10 +339,10 @@ static int build_group_json(const char *group_name, gid_t gid, JsonVariant **ret
|
||||
return json_build(ret, JSON_BUILD_OBJECT(
|
||||
JSON_BUILD_PAIR("record", JSON_BUILD_OBJECT(
|
||||
JSON_BUILD_PAIR("groupName", JSON_BUILD_STRING(group_name)),
|
||||
JSON_BUILD_PAIR("description", JSON_BUILD_STRING("Dynamic Group")),
|
||||
JSON_BUILD_PAIR("description", JSON_BUILD_CONST_STRING("Dynamic Group")),
|
||||
JSON_BUILD_PAIR("gid", JSON_BUILD_UNSIGNED(gid)),
|
||||
JSON_BUILD_PAIR("service", JSON_BUILD_STRING("io.systemd.DynamicUser")),
|
||||
JSON_BUILD_PAIR("disposition", JSON_BUILD_STRING("dynamic"))))));
|
||||
JSON_BUILD_PAIR("service", JSON_BUILD_CONST_STRING("io.systemd.DynamicUser")),
|
||||
JSON_BUILD_PAIR("disposition", JSON_BUILD_CONST_STRING("dynamic"))))));
|
||||
}
|
||||
|
||||
static bool group_match_lookup_parameters(LookupParameters *p, const char *name, gid_t gid) {
|
||||
|
@ -74,11 +74,11 @@ int enroll_fido2(
|
||||
|
||||
r = json_build(&v,
|
||||
JSON_BUILD_OBJECT(
|
||||
JSON_BUILD_PAIR("type", JSON_BUILD_STRING("systemd-fido2")),
|
||||
JSON_BUILD_PAIR("type", JSON_BUILD_CONST_STRING("systemd-fido2")),
|
||||
JSON_BUILD_PAIR("keyslots", JSON_BUILD_ARRAY(JSON_BUILD_STRING(keyslot_as_string))),
|
||||
JSON_BUILD_PAIR("fido2-credential", JSON_BUILD_BASE64(cid, cid_size)),
|
||||
JSON_BUILD_PAIR("fido2-salt", JSON_BUILD_BASE64(salt, salt_size)),
|
||||
JSON_BUILD_PAIR("fido2-rp", JSON_BUILD_STRING("io.systemd.cryptsetup")),
|
||||
JSON_BUILD_PAIR("fido2-rp", JSON_BUILD_CONST_STRING("io.systemd.cryptsetup")),
|
||||
JSON_BUILD_PAIR("fido2-clientPin-required", JSON_BUILD_BOOLEAN(FLAGS_SET(lock_with, FIDO2ENROLL_PIN))),
|
||||
JSON_BUILD_PAIR("fido2-up-required", JSON_BUILD_BOOLEAN(FLAGS_SET(lock_with, FIDO2ENROLL_UP))),
|
||||
JSON_BUILD_PAIR("fido2-uv-required", JSON_BUILD_BOOLEAN(FLAGS_SET(lock_with, FIDO2ENROLL_UV)))));
|
||||
|
@ -83,7 +83,7 @@ int enroll_pkcs11(
|
||||
|
||||
r = json_build(&v,
|
||||
JSON_BUILD_OBJECT(
|
||||
JSON_BUILD_PAIR("type", JSON_BUILD_STRING("systemd-pkcs11")),
|
||||
JSON_BUILD_PAIR("type", JSON_BUILD_CONST_STRING("systemd-pkcs11")),
|
||||
JSON_BUILD_PAIR("keyslots", JSON_BUILD_ARRAY(JSON_BUILD_STRING(keyslot_as_string))),
|
||||
JSON_BUILD_PAIR("pkcs11-uri", JSON_BUILD_STRING(uri)),
|
||||
JSON_BUILD_PAIR("pkcs11-key", JSON_BUILD_BASE64(encrypted_key, encrypted_key_size))));
|
||||
|
@ -76,7 +76,7 @@ int enroll_recovery(
|
||||
|
||||
r = json_build(&v,
|
||||
JSON_BUILD_OBJECT(
|
||||
JSON_BUILD_PAIR("type", JSON_BUILD_STRING("systemd-recovery")),
|
||||
JSON_BUILD_PAIR("type", JSON_BUILD_CONST_STRING("systemd-recovery")),
|
||||
JSON_BUILD_PAIR("keyslots", JSON_BUILD_ARRAY(JSON_BUILD_STRING(keyslot_as_string)))));
|
||||
if (r < 0) {
|
||||
log_error_errno(r, "Failed to prepare recovery key JSON token object: %m");
|
||||
|
@ -19,7 +19,7 @@ static int add_privileged(JsonVariant **v, const char *hashed) {
|
||||
assert(hashed);
|
||||
|
||||
r = json_build(&e, JSON_BUILD_OBJECT(
|
||||
JSON_BUILD_PAIR("type", JSON_BUILD_STRING("modhex64")),
|
||||
JSON_BUILD_PAIR("type", JSON_BUILD_CONST_STRING("modhex64")),
|
||||
JSON_BUILD_PAIR("hashedPassword", JSON_BUILD_STRING(hashed))));
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to build recover key JSON object: %m");
|
||||
|
@ -2518,7 +2518,7 @@ int home_augment_status(
|
||||
r = json_build(&status,
|
||||
JSON_BUILD_OBJECT(
|
||||
JSON_BUILD_PAIR("state", JSON_BUILD_STRING(home_state_to_string(state))),
|
||||
JSON_BUILD_PAIR("service", JSON_BUILD_STRING("io.systemd.Home")),
|
||||
JSON_BUILD_PAIR("service", JSON_BUILD_CONST_STRING("io.systemd.Home")),
|
||||
JSON_BUILD_PAIR_CONDITION(disk_size != UINT64_MAX, "diskSize", JSON_BUILD_UNSIGNED(disk_size)),
|
||||
JSON_BUILD_PAIR_CONDITION(disk_usage != UINT64_MAX, "diskUsage", JSON_BUILD_UNSIGNED(disk_usage)),
|
||||
JSON_BUILD_PAIR_CONDITION(disk_free != UINT64_MAX, "diskFree", JSON_BUILD_UNSIGNED(disk_free)),
|
||||
|
@ -984,7 +984,7 @@ static int format_luks_token_text(
|
||||
|
||||
r = json_build(&v,
|
||||
JSON_BUILD_OBJECT(
|
||||
JSON_BUILD_PAIR("type", JSON_BUILD_STRING("systemd-homed")),
|
||||
JSON_BUILD_PAIR("type", JSON_BUILD_CONST_STRING("systemd-homed")),
|
||||
JSON_BUILD_PAIR("keyslots", JSON_BUILD_EMPTY_ARRAY),
|
||||
JSON_BUILD_PAIR("record", JSON_BUILD_BASE64(encrypted, encrypted_size_out1 + encrypted_size_out2)),
|
||||
JSON_BUILD_PAIR("iv", JSON_BUILD_BASE64(iv, iv_size))));
|
||||
|
@ -83,7 +83,7 @@ int user_record_synthesize(
|
||||
JSON_BUILD_OBJECT(
|
||||
JSON_BUILD_PAIR("userName", JSON_BUILD_STRING(user_name)),
|
||||
JSON_BUILD_PAIR_CONDITION(!!rr, "realm", JSON_BUILD_STRING(realm)),
|
||||
JSON_BUILD_PAIR("disposition", JSON_BUILD_STRING("regular")),
|
||||
JSON_BUILD_PAIR("disposition", JSON_BUILD_CONST_STRING("regular")),
|
||||
JSON_BUILD_PAIR("binding", JSON_BUILD_OBJECT(
|
||||
JSON_BUILD_PAIR(SD_ID128_TO_STRING(mid), JSON_BUILD_OBJECT(
|
||||
JSON_BUILD_PAIR("imagePath", JSON_BUILD_STRING(image_path)),
|
||||
@ -150,7 +150,7 @@ int group_record_synthesize(GroupRecord *g, UserRecord *h) {
|
||||
JSON_BUILD_PAIR_CONDITION(h->disposition >= 0, "disposition", JSON_BUILD_STRING(user_disposition_to_string(user_record_disposition(h)))),
|
||||
JSON_BUILD_PAIR("status", JSON_BUILD_OBJECT(
|
||||
JSON_BUILD_PAIR(SD_ID128_TO_STRING(mid), JSON_BUILD_OBJECT(
|
||||
JSON_BUILD_PAIR("service", JSON_BUILD_STRING("io.systemd.Home"))))))));
|
||||
JSON_BUILD_PAIR("service", JSON_BUILD_CONST_STRING("io.systemd.Home"))))))));
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
|
@ -27,11 +27,11 @@ static int build_user_json(const char *user_name, uid_t uid, const char *real_na
|
||||
JSON_BUILD_PAIR("uid", JSON_BUILD_UNSIGNED(uid)),
|
||||
JSON_BUILD_PAIR("gid", JSON_BUILD_UNSIGNED(GID_NOBODY)),
|
||||
JSON_BUILD_PAIR_CONDITION(!isempty(real_name), "realName", JSON_BUILD_STRING(real_name)),
|
||||
JSON_BUILD_PAIR("homeDirectory", JSON_BUILD_STRING("/")),
|
||||
JSON_BUILD_PAIR("homeDirectory", JSON_BUILD_CONST_STRING("/")),
|
||||
JSON_BUILD_PAIR("shell", JSON_BUILD_STRING(NOLOGIN)),
|
||||
JSON_BUILD_PAIR("locked", JSON_BUILD_BOOLEAN(true)),
|
||||
JSON_BUILD_PAIR("service", JSON_BUILD_STRING("io.systemd.Machine")),
|
||||
JSON_BUILD_PAIR("disposition", JSON_BUILD_STRING("container"))))));
|
||||
JSON_BUILD_PAIR("service", JSON_BUILD_CONST_STRING("io.systemd.Machine")),
|
||||
JSON_BUILD_PAIR("disposition", JSON_BUILD_CONST_STRING("container"))))));
|
||||
}
|
||||
|
||||
static bool user_match_lookup_parameters(LookupParameters *p, const char *name, uid_t uid) {
|
||||
@ -198,8 +198,8 @@ static int build_group_json(const char *group_name, gid_t gid, const char *descr
|
||||
JSON_BUILD_PAIR("groupName", JSON_BUILD_STRING(group_name)),
|
||||
JSON_BUILD_PAIR("gid", JSON_BUILD_UNSIGNED(gid)),
|
||||
JSON_BUILD_PAIR_CONDITION(!isempty(description), "description", JSON_BUILD_STRING(description)),
|
||||
JSON_BUILD_PAIR("service", JSON_BUILD_STRING("io.systemd.Machine")),
|
||||
JSON_BUILD_PAIR("disposition", JSON_BUILD_STRING("container"))))));
|
||||
JSON_BUILD_PAIR("service", JSON_BUILD_CONST_STRING("io.systemd.Machine")),
|
||||
JSON_BUILD_PAIR("disposition", JSON_BUILD_CONST_STRING("container"))))));
|
||||
}
|
||||
|
||||
static bool group_match_lookup_parameters(LookupParameters *p, const char *name, gid_t gid) {
|
||||
|
@ -128,7 +128,7 @@ static int convert_user(
|
||||
JSON_BUILD_PAIR("gid", JSON_BUILD_UNSIGNED(allocate_uid)),
|
||||
JSON_BUILD_PAIR_CONDITION(u->disposition >= 0, "disposition", JSON_BUILD_STRING(user_disposition_to_string(u->disposition))),
|
||||
JSON_BUILD_PAIR("homeDirectory", JSON_BUILD_STRING(h)),
|
||||
JSON_BUILD_PAIR("service", JSON_BUILD_STRING("io.systemd.NSpawn")),
|
||||
JSON_BUILD_PAIR("service", JSON_BUILD_CONST_STRING("io.systemd.NSpawn")),
|
||||
JSON_BUILD_PAIR_CONDITION(!strv_isempty(u->hashed_password), "privileged", JSON_BUILD_OBJECT(
|
||||
JSON_BUILD_PAIR("hashedPassword", JSON_BUILD_VARIANT(hp))))));
|
||||
if (r < 0)
|
||||
@ -140,7 +140,7 @@ static int convert_user(
|
||||
JSON_BUILD_PAIR("groupName", JSON_BUILD_STRING(g->group_name)),
|
||||
JSON_BUILD_PAIR("gid", JSON_BUILD_UNSIGNED(allocate_uid)),
|
||||
JSON_BUILD_PAIR_CONDITION(g->disposition >= 0, "disposition", JSON_BUILD_STRING(user_disposition_to_string(g->disposition))),
|
||||
JSON_BUILD_PAIR("service", JSON_BUILD_STRING("io.systemd.NSpawn"))));
|
||||
JSON_BUILD_PAIR("service", JSON_BUILD_CONST_STRING("io.systemd.NSpawn"))));
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to build container group record: %m");
|
||||
|
||||
|
@ -259,6 +259,7 @@ enum {
|
||||
#define JSON_BUILD_HEX(p, n) _JSON_BUILD_HEX, (const void*) { p }, (size_t) { n }
|
||||
#define JSON_BUILD_ID128(id) _JSON_BUILD_ID128, (const sd_id128_t*) { &(id) }
|
||||
#define JSON_BUILD_BYTE_ARRAY(v, n) _JSON_BUILD_BYTE_ARRAY, (const void*) { v }, (size_t) { n }
|
||||
#define JSON_BUILD_CONST_STRING(s) _JSON_BUILD_VARIANT, JSON_VARIANT_STRING_CONST(s)
|
||||
|
||||
int json_build(JsonVariant **ret, ...);
|
||||
int json_buildv(JsonVariant **ret, va_list ap);
|
||||
|
@ -1257,7 +1257,7 @@ int tpm2_make_luks2_json(
|
||||
|
||||
r = json_build(&v,
|
||||
JSON_BUILD_OBJECT(
|
||||
JSON_BUILD_PAIR("type", JSON_BUILD_STRING("systemd-tpm2")),
|
||||
JSON_BUILD_PAIR("type", JSON_BUILD_CONST_STRING("systemd-tpm2")),
|
||||
JSON_BUILD_PAIR("keyslots", JSON_BUILD_ARRAY(JSON_BUILD_STRING(keyslot_as_string))),
|
||||
JSON_BUILD_PAIR("tpm2-blob", JSON_BUILD_BASE64(blob, blob_size)),
|
||||
JSON_BUILD_PAIR("tpm2-pcrs", JSON_BUILD_VARIANT(a)),
|
||||
|
@ -600,22 +600,22 @@ static int userdb_process(
|
||||
static int synthetic_root_user_build(UserRecord **ret) {
|
||||
return user_record_build(
|
||||
ret,
|
||||
JSON_BUILD_OBJECT(JSON_BUILD_PAIR("userName", JSON_BUILD_STRING("root")),
|
||||
JSON_BUILD_OBJECT(JSON_BUILD_PAIR("userName", JSON_BUILD_CONST_STRING("root")),
|
||||
JSON_BUILD_PAIR("uid", JSON_BUILD_UNSIGNED(0)),
|
||||
JSON_BUILD_PAIR("gid", JSON_BUILD_UNSIGNED(0)),
|
||||
JSON_BUILD_PAIR("homeDirectory", JSON_BUILD_STRING("/root")),
|
||||
JSON_BUILD_PAIR("disposition", JSON_BUILD_STRING("intrinsic"))));
|
||||
JSON_BUILD_PAIR("homeDirectory", JSON_BUILD_CONST_STRING("/root")),
|
||||
JSON_BUILD_PAIR("disposition", JSON_BUILD_CONST_STRING("intrinsic"))));
|
||||
}
|
||||
|
||||
static int synthetic_nobody_user_build(UserRecord **ret) {
|
||||
return user_record_build(
|
||||
ret,
|
||||
JSON_BUILD_OBJECT(JSON_BUILD_PAIR("userName", JSON_BUILD_STRING(NOBODY_USER_NAME)),
|
||||
JSON_BUILD_OBJECT(JSON_BUILD_PAIR("userName", JSON_BUILD_CONST_STRING(NOBODY_USER_NAME)),
|
||||
JSON_BUILD_PAIR("uid", JSON_BUILD_UNSIGNED(UID_NOBODY)),
|
||||
JSON_BUILD_PAIR("gid", JSON_BUILD_UNSIGNED(GID_NOBODY)),
|
||||
JSON_BUILD_PAIR("shell", JSON_BUILD_STRING(NOLOGIN)),
|
||||
JSON_BUILD_PAIR("shell", JSON_BUILD_CONST_STRING(NOLOGIN)),
|
||||
JSON_BUILD_PAIR("locked", JSON_BUILD_BOOLEAN(true)),
|
||||
JSON_BUILD_PAIR("disposition", JSON_BUILD_STRING("intrinsic"))));
|
||||
JSON_BUILD_PAIR("disposition", JSON_BUILD_CONST_STRING("intrinsic"))));
|
||||
}
|
||||
|
||||
int userdb_by_name(const char *name, UserDBFlags flags, UserRecord **ret) {
|
||||
@ -878,17 +878,17 @@ int userdb_iterator_get(UserDBIterator *iterator, UserRecord **ret) {
|
||||
static int synthetic_root_group_build(GroupRecord **ret) {
|
||||
return group_record_build(
|
||||
ret,
|
||||
JSON_BUILD_OBJECT(JSON_BUILD_PAIR("groupName", JSON_BUILD_STRING("root")),
|
||||
JSON_BUILD_OBJECT(JSON_BUILD_PAIR("groupName", JSON_BUILD_CONST_STRING("root")),
|
||||
JSON_BUILD_PAIR("gid", JSON_BUILD_UNSIGNED(0)),
|
||||
JSON_BUILD_PAIR("disposition", JSON_BUILD_STRING("intrinsic"))));
|
||||
JSON_BUILD_PAIR("disposition", JSON_BUILD_CONST_STRING("intrinsic"))));
|
||||
}
|
||||
|
||||
static int synthetic_nobody_group_build(GroupRecord **ret) {
|
||||
return group_record_build(
|
||||
ret,
|
||||
JSON_BUILD_OBJECT(JSON_BUILD_PAIR("groupName", JSON_BUILD_STRING(NOBODY_GROUP_NAME)),
|
||||
JSON_BUILD_OBJECT(JSON_BUILD_PAIR("groupName", JSON_BUILD_CONST_STRING(NOBODY_GROUP_NAME)),
|
||||
JSON_BUILD_PAIR("gid", JSON_BUILD_UNSIGNED(GID_NOBODY)),
|
||||
JSON_BUILD_PAIR("disposition", JSON_BUILD_STRING("intrinsic"))));
|
||||
JSON_BUILD_PAIR("disposition", JSON_BUILD_CONST_STRING("intrinsic"))));
|
||||
}
|
||||
|
||||
int groupdb_by_name(const char *name, UserDBFlags flags, GroupRecord **ret) {
|
||||
|
@ -390,7 +390,7 @@ static void test_json(void) {
|
||||
assert_se(json_build(&w,
|
||||
JSON_BUILD_ARRAY(
|
||||
JSON_BUILD_OBJECT(
|
||||
JSON_BUILD_PAIR("foo_bar", JSON_BUILD_STRING("v1")),
|
||||
JSON_BUILD_PAIR("foo_bar", JSON_BUILD_CONST_STRING("v1")),
|
||||
JSON_BUILD_PAIR("quux", JSON_BUILD_UNSIGNED(4711)),
|
||||
JSON_BUILD_PAIR("zzz", JSON_BUILD_BOOLEAN(true))),
|
||||
JSON_BUILD_OBJECT(
|
||||
|
@ -333,16 +333,16 @@ static void test_build(void) {
|
||||
|
||||
assert_se(json_build(&a, JSON_BUILD_OBJECT(
|
||||
JSON_BUILD_PAIR("x", JSON_BUILD_STRING("y")),
|
||||
JSON_BUILD_PAIR("z", JSON_BUILD_STRING("a")),
|
||||
JSON_BUILD_PAIR("b", JSON_BUILD_STRING("c"))
|
||||
JSON_BUILD_PAIR("z", JSON_BUILD_CONST_STRING("a")),
|
||||
JSON_BUILD_PAIR("b", JSON_BUILD_CONST_STRING("c"))
|
||||
)) >= 0);
|
||||
|
||||
assert_se(json_build(&b, JSON_BUILD_OBJECT(
|
||||
JSON_BUILD_PAIR("x", JSON_BUILD_STRING("y")),
|
||||
JSON_BUILD_PAIR_CONDITION(false, "p", JSON_BUILD_STRING("q")),
|
||||
JSON_BUILD_PAIR_CONDITION(true, "z", JSON_BUILD_STRING("a")),
|
||||
JSON_BUILD_PAIR_CONDITION(false, "j", JSON_BUILD_ARRAY(JSON_BUILD_STRING("k"), JSON_BUILD_STRING("u"), JSON_BUILD_STRING("i"))),
|
||||
JSON_BUILD_PAIR("b", JSON_BUILD_STRING("c"))
|
||||
JSON_BUILD_PAIR_CONDITION(true, "z", JSON_BUILD_CONST_STRING("a")),
|
||||
JSON_BUILD_PAIR_CONDITION(false, "j", JSON_BUILD_ARRAY(JSON_BUILD_STRING("k"), JSON_BUILD_CONST_STRING("u"), JSON_BUILD_CONST_STRING("i"))),
|
||||
JSON_BUILD_PAIR("b", JSON_BUILD_CONST_STRING("c"))
|
||||
)) >= 0);
|
||||
|
||||
assert_se(json_variant_equal(a, b));
|
||||
@ -435,8 +435,8 @@ static void test_normalize(void) {
|
||||
|
||||
assert_se(json_build(&v, JSON_BUILD_OBJECT(
|
||||
JSON_BUILD_PAIR("b", JSON_BUILD_STRING("x")),
|
||||
JSON_BUILD_PAIR("c", JSON_BUILD_STRING("y")),
|
||||
JSON_BUILD_PAIR("a", JSON_BUILD_STRING("z")))) >= 0);
|
||||
JSON_BUILD_PAIR("c", JSON_BUILD_CONST_STRING("y")),
|
||||
JSON_BUILD_PAIR("a", JSON_BUILD_CONST_STRING("z")))) >= 0);
|
||||
|
||||
assert_se(!json_variant_is_sorted(v));
|
||||
assert_se(!json_variant_is_normalized(v));
|
||||
|
@ -126,7 +126,7 @@ static void flood_test(const char *address) {
|
||||
assert_se(varlink_set_description(c, "overload-client") >= 0);
|
||||
assert_se(varlink_attach_event(c, e, k) >= 0);
|
||||
assert_se(varlink_bind_reply(c, overload_reply) >= 0);
|
||||
assert_se(varlink_invokeb(c, "io.test.Overload", JSON_BUILD_OBJECT(JSON_BUILD_PAIR("foo", JSON_BUILD_STRING("bar")))) >= 0);
|
||||
assert_se(varlink_invokeb(c, "io.test.Overload", JSON_BUILD_OBJECT(JSON_BUILD_PAIR("foo", JSON_BUILD_CONST_STRING("bar")))) >= 0);
|
||||
|
||||
/* Unblock it */
|
||||
log_debug("Unblocking server...");
|
||||
|
Loading…
Reference in New Issue
Block a user