From 2eb21e35216b573693897a9dc311d4359cd01309 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Sat, 28 Oct 2023 13:00:45 +0800 Subject: [PATCH] TerminalFont: fix memleaks --- src/modules/terminalfont/terminalfont.c | 43 ++++++++++++------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/src/modules/terminalfont/terminalfont.c b/src/modules/terminalfont/terminalfont.c index 353e67845..5ee332f29 100644 --- a/src/modules/terminalfont/terminalfont.c +++ b/src/modules/terminalfont/terminalfont.c @@ -90,32 +90,31 @@ void ffGenerateTerminalFontJsonResult(FF_MAYBE_UNUSED FFTerminalOptions* options ffStrbufInit(&result.error); if(!ffDetectTerminalFont(&result)) - { yyjson_mut_obj_add_strbuf(doc, module, "error", &result.error); - return; - } - - yyjson_mut_val* obj = yyjson_mut_obj_add_obj(doc, module, "result"); - - yyjson_mut_val* font = yyjson_mut_obj_add_obj(doc, obj, "font"); - yyjson_mut_obj_add_strbuf(doc, font, "name", &result.font.name); - yyjson_mut_obj_add_strbuf(doc, font, "size", &result.font.size); - yyjson_mut_val* fontStyles = yyjson_mut_obj_add_arr(doc, font, "styles"); - FF_LIST_FOR_EACH(FFstrbuf, style, result.font.styles) + else { - yyjson_mut_arr_add_strbuf(doc, fontStyles, style); - } - yyjson_mut_obj_add_strbuf(doc, font, "pretty", &result.font.pretty); + yyjson_mut_val* obj = yyjson_mut_obj_add_obj(doc, module, "result"); - yyjson_mut_val* fallback = yyjson_mut_obj_add_obj(doc, obj, "fallback"); - yyjson_mut_obj_add_strbuf(doc, fallback, "name", &result.fallback.name); - yyjson_mut_obj_add_strbuf(doc, fallback, "size", &result.fallback.size); - yyjson_mut_val* fallbackStyles = yyjson_mut_obj_add_arr(doc, fallback, "styles"); - FF_LIST_FOR_EACH(FFstrbuf, style, result.fallback.styles) - { - yyjson_mut_arr_add_strbuf(doc, fallbackStyles, style); + yyjson_mut_val* font = yyjson_mut_obj_add_obj(doc, obj, "font"); + yyjson_mut_obj_add_strbuf(doc, font, "name", &result.font.name); + yyjson_mut_obj_add_strbuf(doc, font, "size", &result.font.size); + yyjson_mut_val* fontStyles = yyjson_mut_obj_add_arr(doc, font, "styles"); + FF_LIST_FOR_EACH(FFstrbuf, style, result.font.styles) + { + yyjson_mut_arr_add_strbuf(doc, fontStyles, style); + } + yyjson_mut_obj_add_strbuf(doc, font, "pretty", &result.font.pretty); + + yyjson_mut_val* fallback = yyjson_mut_obj_add_obj(doc, obj, "fallback"); + yyjson_mut_obj_add_strbuf(doc, fallback, "name", &result.fallback.name); + yyjson_mut_obj_add_strbuf(doc, fallback, "size", &result.fallback.size); + yyjson_mut_val* fallbackStyles = yyjson_mut_obj_add_arr(doc, fallback, "styles"); + FF_LIST_FOR_EACH(FFstrbuf, style, result.fallback.styles) + { + yyjson_mut_arr_add_strbuf(doc, fallbackStyles, style); + } + yyjson_mut_obj_add_strbuf(doc, fallback, "pretty", &result.fallback.pretty); } - yyjson_mut_obj_add_strbuf(doc, fallback, "pretty", &result.fallback.pretty); ffStrbufDestroy(&result.error); ffFontDestroy(&result.font);