[gnome-software] GsLanguage: Use g_autoptr
- From: Kalev Lember <klember src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-software] GsLanguage: Use g_autoptr
- Date: Mon, 25 Jan 2016 14:07:17 +0000 (UTC)
commit 158ccaec017108cb107baecb77f2c038ecaef7b2
Author: Kalev Lember <klember redhat com>
Date: Mon Jan 25 14:34:50 2016 +0100
GsLanguage: Use g_autoptr
src/gs-language.c | 27 ++++++++++-----------------
1 files changed, 10 insertions(+), 17 deletions(-)
---
diff --git a/src/gs-language.c b/src/gs-language.c
index 2317dce..a566e75 100644
--- a/src/gs-language.c
+++ b/src/gs-language.c
@@ -92,11 +92,10 @@ static const GMarkupParser gs_language_markup_parser =
gboolean
gs_language_populate (GsLanguage *language, GError **error)
{
- gboolean ret = FALSE;
- gchar *contents = NULL;
- gchar *filename;
gsize size;
- GMarkupParseContext *context = NULL;
+ g_autofree gchar *contents = NULL;
+ g_autofree gchar *filename = NULL;
+ g_autoptr(GMarkupParseContext) context = NULL;
/* find filename */
filename = g_build_filename (DATADIR, "xml", "iso-codes", "iso_639.xml", NULL);
@@ -106,27 +105,21 @@ gs_language_populate (GsLanguage *language, GError **error)
}
if (!g_file_test (filename, G_FILE_TEST_EXISTS)) {
g_set_error (error, 1, 0, "cannot find source file : '%s'", filename);
- goto out;
+ return FALSE;
}
/* get contents */
- ret = g_file_get_contents (filename, &contents, &size, error);
- if (!ret)
- goto out;
+ if (!g_file_get_contents (filename, &contents, &size, error))
+ return FALSE;
/* create parser */
context = g_markup_parse_context_new (&gs_language_markup_parser, G_MARKUP_PREFIX_ERROR_POSITION,
language, NULL);
/* parse data */
- ret = g_markup_parse_context_parse (context, contents, (gssize) size, error);
- if (!ret)
- goto out;
-out:
- if (context != NULL)
- g_markup_parse_context_free (context);
- g_free (filename);
- g_free (contents);
- return ret;
+ if (!g_markup_parse_context_parse (context, contents, (gssize) size, error))
+ return FALSE;
+
+ return TRUE;;
}
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]