main: Use more auto-pointers

This commit is contained in:
Marco Trevisan (Treviño)
2020-01-28 19:02:40 +01:00
committed by Benjamin Berg
parent b14bfd8226
commit e1c2698807

View File

@ -57,11 +57,10 @@ static gboolean
load_storage_module (const char *module_name) load_storage_module (const char *module_name)
{ {
GModule *module; GModule *module;
char *filename; g_autofree char *filename = NULL;
filename = g_module_build_path (PLUGINDIR, module_name); filename = g_module_build_path (PLUGINDIR, module_name);
module = g_module_open (filename, 0); module = g_module_open (filename, 0);
g_free (filename);
if (module == NULL) if (module == NULL)
return FALSE; return FALSE;
@ -83,46 +82,29 @@ load_storage_module (const char *module_name)
static gboolean static gboolean
load_conf (void) load_conf (void)
{ {
GKeyFile *file; g_autofree char *filename = NULL;
char *filename; g_autofree char *module_name = NULL;
char *module_name; g_autoptr(GKeyFile) file = NULL;
GError *error = NULL; g_autoptr(GError) error = NULL;
gboolean ret;
filename = g_build_filename (SYSCONFDIR, "fprintd.conf", NULL); filename = g_build_filename (SYSCONFDIR, "fprintd.conf", NULL);
file = g_key_file_new (); file = g_key_file_new ();
g_debug("About to load configuration file '%s'", filename); g_debug("About to load configuration file '%s'", filename);
if (!g_key_file_load_from_file (file, filename, G_KEY_FILE_NONE, &error)) { if (!g_key_file_load_from_file (file, filename, G_KEY_FILE_NONE, &error)) {
g_warning ("Could not open \"%s\": %s\n", filename, error->message); g_warning ("Could not open \"%s\": %s\n", filename, error->message);
goto bail; return FALSE;
} }
g_free (filename);
filename = NULL;
module_name = g_key_file_get_string (file, "storage", "type", &error); module_name = g_key_file_get_string (file, "storage", "type", &error);
if (module_name == NULL) if (module_name == NULL)
goto bail; return FALSE;
g_key_file_free (file);
if (g_str_equal (module_name, "file")) { if (g_str_equal (module_name, "file")) {
g_free (module_name);
set_storage_file (); set_storage_file ();
return TRUE; return TRUE;
} }
ret = load_storage_module (module_name); return load_storage_module (module_name);
g_free (module_name);
return ret;
bail:
g_key_file_free (file);
g_free (filename);
g_error_free (error);
return FALSE;
} }
static const GOptionEntry entries[] = { static const GOptionEntry entries[] = {