Skip to content

Commit

Permalink
chore(linux): Extract free_info method in kmpdetails.c 🏘️
Browse files Browse the repository at this point in the history
Also add guard to kmpdetails.h.
  • Loading branch information
ermshiperete committed Sep 20, 2023
1 parent 704ba55 commit c1cb26c
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 9 deletions.
28 changes: 20 additions & 8 deletions linux/ibus-keyman/src/kmpdetails.c
Original file line number Diff line number Diff line change
Expand Up @@ -455,22 +455,34 @@ kmp_json_status free_keyboard_details(keyboard_details *kbd_details)
return JSON_OK;
}

void free_info(gpointer data) {
kmp_info *info = (kmp_info *)data;
if (info->name)
g_free(info->name);
if (info->version)
g_free(info->version);
if (info->copyright)
g_free(info->copyright);
if (info->author_desc)
g_free(info->author_desc);
if (info->author_url)
g_free(info->author_url);
if (info->website_desc)
g_free(info->website_desc);
if (info->website_url)
g_free(info->website_url);
}

kmp_json_status free_kmp_details(kmp_details * details)
{
g_assert(details != NULL);
g_free(details->system.fileVersion);
g_free(details->system.keymanDeveloperVersion);
g_free(details->options.readmeFile);
g_free(details->options.graphicFile);
g_free(details->info.name);
g_free(details->info.version);
g_free(details->info.copyright);
g_free(details->info.author_desc);
g_free(details->info.author_url);
g_free(details->info.website_desc);
g_free(details->info.website_url);
free_info(&details->info);
if (details->keyboards != NULL) {
g_list_free_full(details->keyboards, (GDestroyNotify)free_keyboard);
g_list_free_full(details->keyboards, (GDestroyNotify)free_keyboard);
}
if (details->files != NULL) {
g_list_free_full(details->files, (GDestroyNotify)free_fileinfo);
Expand Down
7 changes: 6 additions & 1 deletion linux/ibus-keyman/src/kmpdetails.h
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
#ifndef __KMPDETAILS_H__
#define __KMPDETAILS_H__

// kmp details from json

#include <glib.h>
Expand Down Expand Up @@ -75,4 +78,6 @@ kmp_json_status get_kmp_details(const gchar *kmp_dir, kmp_details *details);
kmp_json_status free_kmp_details(kmp_details * details);
kmp_json_status get_keyboard_details(const gchar *kmp_dir, const gchar *id, keyboard_details *details);
kmp_json_status free_keyboard_details(keyboard_details * details);
kmp_json_status print_kmp_details(kmp_details * details);
kmp_json_status print_kmp_details(kmp_details * details);

#endif // __KMPDETAILS_H__

0 comments on commit c1cb26c

Please sign in to comment.