JsonConfig: code simplify

This commit is contained in:
李通洲
2023-03-15 11:24:49 +08:00
parent 5da3127344
commit 5f52c64d4d
16 changed files with 200 additions and 257 deletions
+9 -15
View File
@@ -69,24 +69,18 @@ bool ffParseSeparatorJsonObject(FFinstance* instance, const char* type, JSONCDat
FFSeparatorOptions __attribute__((__cleanup__(ffDestroySeparatorOptions))) options;
ffInitSeparatorOptions(&options);
if (module)
FF_JSON_OBJECT_OBJECT_FOREACH(data, module, key, val)
{
struct lh_entry* entry;
lh_foreach(data->ffjson_object_get_object(module), entry)
if (strcasecmp(key, "type") == 0)
continue;
if (strcasecmp(key, "string") == 0)
{
const char* key = (const char *)lh_entry_k(entry);
if (strcasecmp(key, "type") == 0)
continue;
json_object* val = (struct json_object *)lh_entry_v(entry);
if (strcasecmp(key, "string") == 0)
{
ffStrbufSetS(&options.string, data->ffjson_object_get_string(val));
continue;
}
ffPrintErrorString(instance, FF_SEPARATOR_MODULE_NAME, 0, NULL, NULL, "Unknown JSON key %s", key);
ffStrbufSetS(&options.string, data->ffjson_object_get_string(val));
continue;
}
ffPrintErrorString(instance, FF_SEPARATOR_MODULE_NAME, 0, NULL, NULL, "Unknown JSON key %s", key);
}
ffPrintSeparator(instance, &options);