summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKalev Lember <klember@redhat.com>2015-09-10 15:12:05 +0200
committerKalev Lember <klember@redhat.com>2015-09-10 15:21:38 +0200
commitb1bc5776bb3bbac508b793d00c80cd78d82cc8b3 (patch)
tree3347a2d9d87dd70d4903a1ff62d49e370305cfc1
parent752e45e990a00331290067bdcb07a2f4ab2001ad (diff)
downloadappstream-glib-b1bc5776bb3bbac508b793d00c80cd78d82cc8b3.tar.gz
Use glib's cleanup functions for GString
... and bump glib dep to 2.45.8 for g_autoptr(GString) support.
-rw-r--r--client/as-util.c22
-rw-r--r--configure.ac2
-rw-r--r--libappstream-builder/asb-context.c3
-rw-r--r--libappstream-builder/asb-plugin.h2
-rw-r--r--libappstream-builder/asb-self-test.c10
-rw-r--r--libappstream-builder/plugins/asb-plugin-font.c2
-rw-r--r--libappstream-builder/plugins/asb-plugin-gstreamer.c2
-rw-r--r--libappstream-glib/as-app.c6
-rw-r--r--libappstream-glib/as-cleanup.h10
-rw-r--r--libappstream-glib/as-inf.c4
-rw-r--r--libappstream-glib/as-node.c3
-rw-r--r--libappstream-glib/as-release.c3
-rw-r--r--libappstream-glib/as-self-test.c14
-rw-r--r--libappstream-glib/as-store.c2
-rw-r--r--libappstream-glib/as-utils.c4
15 files changed, 37 insertions, 52 deletions
diff --git a/client/as-util.c b/client/as-util.c
index 12e7358..bde276b 100644
--- a/client/as-util.c
+++ b/client/as-util.c
@@ -170,7 +170,7 @@ as_util_run (AsUtilPrivate *priv, const gchar *command, gchar **values, GError *
{
AsUtilItem *item;
guint i;
- _cleanup_string_free_ GString *string = NULL;
+ g_autoptr(GString) string = NULL;
/* for bash completion */
if (g_strcmp0 (command, "list-commands") == 0) {
@@ -634,7 +634,7 @@ as_util_appdata_to_news (AsUtilPrivate *priv, gchar **values, GError **error)
for (f = 0; values[f] != NULL; f++) {
g_autoptr(AsApp) app = NULL;
- _cleanup_string_free_ GString *str = NULL;
+ g_autoptr(GString) str = NULL;
/* add separator */
if (f > 0)
@@ -976,8 +976,8 @@ as_util_news_to_appdata (AsUtilPrivate *priv, gchar **values, GError **error)
{
guint i;
g_autofree gchar *data = NULL;
- _cleanup_string_free_ GString *data_str = NULL;
- _cleanup_string_free_ GString *desc = NULL;
+ g_autoptr(GString) data_str = NULL;
+ g_autoptr(GString) desc = NULL;
g_auto(GStrv) split = NULL;
/* check args */
@@ -1221,7 +1221,7 @@ static gboolean
as_util_dump (AsUtilPrivate *priv, gchar **values, GError **error)
{
guint i;
- _cleanup_string_free_ GString *xml = NULL;
+ g_autoptr(GString) xml = NULL;
g_autoptr(AsStore) store = NULL;
/* check args */
@@ -1570,7 +1570,7 @@ as_util_status_html_write_app (AsApp *app, GString *html, AsUtilDistro distro)
const gchar *important_md[] = { "DistroMetadata",
"DistroScreenshots",
NULL };
- _cleanup_string_free_ GString *classes = NULL;
+ g_autoptr(GString) classes = NULL;
/* generate class list */
classes = g_string_new ("");
@@ -2071,7 +2071,7 @@ as_util_status_html (AsUtilPrivate *priv, gchar **values, GError **error)
guint i;
g_autoptr(AsStore) store = NULL;
g_autoptr(GFile) file = NULL;
- _cleanup_string_free_ GString *html = NULL;
+ g_autoptr(GString) html = NULL;
/* check args */
if (g_strv_length (values) != 2) {
@@ -2207,7 +2207,7 @@ as_util_matrix_html_write_app (AsApp *app, GString *html, AsUtilDistro distro)
AsIcon *ic;
AsUtilPkgState state_app = AS_UTIL_PKG_STATE_OK;
GPtrArray *arr;
- _cleanup_string_free_ GString *str = NULL;
+ g_autoptr(GString) str = NULL;
str = g_string_new ("");
g_string_append_printf (str, "<td>%s</td>\n", as_app_get_id_filename (app));
@@ -2350,7 +2350,7 @@ as_util_matrix_html (AsUtilPrivate *priv, gchar **values, GError **error)
GPtrArray *apps = NULL;
guint i;
g_autoptr(AsStore) store = NULL;
- _cleanup_string_free_ GString *html = NULL;
+ g_autoptr(GString) html = NULL;
/* check args */
if (g_strv_length (values) < 2) {
@@ -2472,7 +2472,7 @@ as_util_status_csv (AsUtilPrivate *priv, gchar **values, GError **error)
guint i;
g_autoptr(AsStore) store = NULL;
g_autoptr(GFile) file = NULL;
- _cleanup_string_free_ GString *data = NULL;
+ g_autoptr(GString) data = NULL;
/* check args */
if (g_strv_length (values) < 2) {
@@ -2533,7 +2533,7 @@ as_util_non_package_yaml (AsUtilPrivate *priv, gchar **values, GError **error)
guint i;
g_autoptr(AsStore) store = NULL;
g_autoptr(GFile) file = NULL;
- _cleanup_string_free_ GString *yaml = NULL;
+ g_autoptr(GString) yaml = NULL;
/* check args */
if (g_strv_length (values) != 2) {
diff --git a/configure.ac b/configure.ac
index 0763a0f..4325ec3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -126,7 +126,7 @@ if test x$GPERF != xno ; then
fi
AM_CONDITIONAL(HAVE_GPERF, [test x$GPERF != xno])
-PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.44.0 gio-2.0 gobject-2.0 gthread-2.0 gio-unix-2.0 gmodule-2.0)
+PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.45.8 gio-2.0 gobject-2.0 gthread-2.0 gio-unix-2.0 gmodule-2.0)
PKG_CHECK_MODULES(LIBARCHIVE, libarchive)
PKG_CHECK_MODULES(SOUP, libsoup-2.4 >= 2.51.92)
PKG_CHECK_MODULES(GDKPIXBUF, gdk-pixbuf-2.0 >= 2.31.5)
diff --git a/libappstream-builder/asb-context.c b/libappstream-builder/asb-context.c
index 57972a6..bb04224 100644
--- a/libappstream-builder/asb-context.c
+++ b/libappstream-builder/asb-context.c
@@ -33,7 +33,6 @@
#include <stdlib.h>
#include <appstream-glib.h>
-#include "as-cleanup.h"
#include "asb-context.h"
#include "asb-context-private.h"
#include "asb-plugin.h"
@@ -920,7 +919,7 @@ asb_context_write_app_xml (AsbContext *ctx)
/* log the XML in the log file */
for (l = priv->apps; l != NULL; l = l->next) {
- _cleanup_string_free_ GString *xml = NULL;
+ g_autoptr(GString) xml = NULL;
g_autoptr(AsStore) store = NULL;
/* we have an open log file? */
diff --git a/libappstream-builder/asb-plugin.h b/libappstream-builder/asb-plugin.h
index c647fb1..20e655a 100644
--- a/libappstream-builder/asb-plugin.h
+++ b/libappstream-builder/asb-plugin.h
@@ -27,8 +27,6 @@
#include <gio/gio.h>
#include <appstream-glib.h>
-#include "as-cleanup.h"
-
#include "asb-app.h"
#include "asb-context.h"
#include "asb-package.h"
diff --git a/libappstream-builder/asb-self-test.c b/libappstream-builder/asb-self-test.c
index 262395f..048d524 100644
--- a/libappstream-builder/asb-self-test.c
+++ b/libappstream-builder/asb-self-test.c
@@ -238,7 +238,7 @@ static void
asb_test_utils_replace_func (void)
{
guint n;
- _cleanup_string_free_ GString *str = NULL;
+ g_autoptr(GString) str = NULL;
str = g_string_new ("I want to have searched for search");
n = asb_string_replace (str, "search", "replace");
@@ -312,9 +312,9 @@ asb_test_context_test_func (AsbTestContextMode mode)
g_autoptr(GFile) file_failed = NULL;
g_autoptr(GFile) file_ignore = NULL;
g_autoptr(GFile) file = NULL;
- _cleanup_string_free_ GString *xml = NULL;
- _cleanup_string_free_ GString *xml_failed = NULL;
- _cleanup_string_free_ GString *xml_ignore = NULL;
+ g_autoptr(GString) xml = NULL;
+ g_autoptr(GString) xml_failed = NULL;
+ g_autoptr(GString) xml_ignore = NULL;
const gchar *filenames[] = {
"test-0.1-1.fc21.noarch.rpm", /* a console app */
"app-1-1.fc21.x86_64.rpm", /* a GUI app */
@@ -861,7 +861,7 @@ asb_test_firmware_func (void)
g_autoptr(AsbContext) ctx = NULL;
g_autoptr(AsStore) store = NULL;
g_autoptr(GFile) file = NULL;
- _cleanup_string_free_ GString *xml = NULL;
+ g_autoptr(GString) xml = NULL;
const gchar *filenames[] = {
"colorhug-als-2.0.1.cab",
"colorhug-als-2.0.0.cab",
diff --git a/libappstream-builder/plugins/asb-plugin-font.c b/libappstream-builder/plugins/asb-plugin-font.c
index b79669c..2a7cc6c 100644
--- a/libappstream-builder/plugins/asb-plugin-font.c
+++ b/libappstream-builder/plugins/asb-plugin-font.c
@@ -83,7 +83,7 @@ asb_font_fix_metadata (AsbApp *app)
gint percentage;
guint j;
g_autoptr(GList) langs = NULL;
- _cleanup_string_free_ GString *str = NULL;
+ g_autoptr(GString) str = NULL;
struct {
const gchar *lang;
const gchar *value;
diff --git a/libappstream-builder/plugins/asb-plugin-gstreamer.c b/libappstream-builder/plugins/asb-plugin-gstreamer.c
index e44aac8..9f0c710 100644
--- a/libappstream-builder/plugins/asb-plugin-gstreamer.c
+++ b/libappstream-builder/plugins/asb-plugin-gstreamer.c
@@ -143,7 +143,7 @@ asb_plugin_process (AsbPlugin *plugin,
g_autofree gchar *app_id = NULL;
g_autoptr(AsbApp) app = NULL;
g_autoptr(AsIcon) icon = NULL;
- _cleanup_string_free_ GString *str = NULL;
+ g_autoptr(GString) str = NULL;
/* use the pkgname suffix as the app-id */
tmp = asb_package_get_name (pkg);
diff --git a/libappstream-glib/as-app.c b/libappstream-glib/as-app.c
index e34f8b5..ac4c3ff 100644
--- a/libappstream-glib/as-app.c
+++ b/libappstream-glib/as-app.c
@@ -3331,7 +3331,7 @@ as_app_node_parse_child (AsApp *app, GNode *n, AsAppParseFlags flags,
if (g_error_matches (error_local,
AS_NODE_ERROR,
AS_NODE_ERROR_INVALID_MARKUP)) {
- _cleanup_string_free_ GString *debug = NULL;
+ g_autoptr(GString) debug = NULL;
debug = as_node_to_xml (n, AS_NODE_TO_XML_FLAG_NONE);
g_warning ("ignoring description '%s' from %s: %s",
debug->str,
@@ -3354,7 +3354,7 @@ as_app_node_parse_child (AsApp *app, GNode *n, AsAppParseFlags flags,
as_node_get_attribute (n, "xml:lang"),
as_node_get_data (n));
} else {
- _cleanup_string_free_ GString *xml = NULL;
+ g_autoptr(GString) xml = NULL;
xml = as_node_to_xml (n->children,
AS_NODE_TO_XML_FLAG_INCLUDE_SIBLINGS);
as_app_set_description (app,
@@ -4422,7 +4422,7 @@ as_app_to_file (AsApp *app,
{
g_autofree AsNodeContext *ctx = NULL;
_cleanup_node_unref_ GNode *root = NULL;
- _cleanup_string_free_ GString *xml = NULL;
+ g_autoptr(GString) xml = NULL;
root = as_node_new ();
ctx = as_node_context_new ();
diff --git a/libappstream-glib/as-cleanup.h b/libappstream-glib/as-cleanup.h
index b8dc422..9196654 100644
--- a/libappstream-glib/as-cleanup.h
+++ b/libappstream-glib/as-cleanup.h
@@ -45,22 +45,12 @@ G_BEGIN_DECLS
func (*(Type*)v); \
}
-#define GS_DEFINE_CLEANUP_FUNCTIONt(Type, name, func) \
- static inline void name (void *v) \
- { \
- if (*(Type*)v) \
- func (*(Type*)v, TRUE); \
- }
-
GS_DEFINE_CLEANUP_FUNCTION0(GNode*, gs_local_node_unref, as_node_unref)
GS_DEFINE_CLEANUP_FUNCTION0(GNode*, gs_local_yaml_unref, as_yaml_unref)
-GS_DEFINE_CLEANUP_FUNCTIONt(GString*, gs_local_free_string, g_string_free)
-
GS_DEFINE_CLEANUP_FUNCTION(void*, gs_local_free_libc, free)
#define _cleanup_free_libc_ __attribute__ ((cleanup(gs_local_free_libc)))
-#define _cleanup_string_free_ __attribute__ ((cleanup(gs_local_free_string)))
#define _cleanup_node_unref_ __attribute__ ((cleanup(gs_local_node_unref)))
#define _cleanup_yaml_unref_ __attribute__ ((cleanup(gs_local_yaml_unref)))
diff --git a/libappstream-glib/as-inf.c b/libappstream-glib/as-inf.c
index e90a953..d4bebea 100644
--- a/libappstream-glib/as-inf.c
+++ b/libappstream-glib/as-inf.c
@@ -31,10 +31,10 @@
#include "config.h"
+#include <gio/gio.h>
#include <string.h>
#include <stdlib.h>
-#include "as-cleanup.h"
#include "as-inf.h"
/**
@@ -696,7 +696,7 @@ as_inf_parse_line (AsInfHelper *helper, gchar *line, GError **error)
g_str_has_prefix (line, "HK")) {
guint i;
g_auto(GStrv) reg_split = NULL;
- _cleanup_string_free_ GString *str = NULL;
+ g_autoptr(GString) str = NULL;
str = g_string_new ("");
reg_split = g_strsplit (line, ",", -1);
for (i = 0; reg_split[i+1] != NULL; i++) {
diff --git a/libappstream-glib/as-node.c b/libappstream-glib/as-node.c
index d6ea765..f929979 100644
--- a/libappstream-glib/as-node.c
+++ b/libappstream-glib/as-node.c
@@ -37,7 +37,6 @@
#include <glib.h>
#include <string.h>
-#include "as-cleanup.h"
#include "as-node-private.h"
#include "as-utils-private.h"
@@ -759,7 +758,7 @@ as_node_to_file (const GNode *root,
GCancellable *cancellable,
GError **error)
{
- _cleanup_string_free_ GString *xml = NULL;
+ g_autoptr(GString) xml = NULL;
xml = as_node_to_xml (root, flags);
return g_file_replace_contents (file,
xml->str,
diff --git a/libappstream-glib/as-release.c b/libappstream-glib/as-release.c
index c790651..d7c01e7 100644
--- a/libappstream-glib/as-release.c
+++ b/libappstream-glib/as-release.c
@@ -39,7 +39,6 @@
#include <stdlib.h>
-#include "as-cleanup.h"
#include "as-checksum-private.h"
#include "as-node-private.h"
#include "as-release-private.h"
@@ -491,7 +490,7 @@ as_release_node_parse (AsRelease *release, GNode *node,
/* AppStream: multiple <description> tags */
if (as_node_context_get_source_kind (ctx) == AS_APP_SOURCE_KIND_APPSTREAM) {
for (n = node->children; n != NULL; n = n->next) {
- _cleanup_string_free_ GString *xml = NULL;
+ g_autoptr(GString) xml = NULL;
if (as_node_get_tag (n) != AS_TAG_DESCRIPTION)
continue;
if (n->children == NULL)
diff --git a/libappstream-glib/as-self-test.c b/libappstream-glib/as-self-test.c
index 3a69ae6..c10bdea 100644
--- a/libappstream-glib/as-self-test.c
+++ b/libappstream-glib/as-self-test.c
@@ -719,7 +719,7 @@ as_test_image_resize_func (void)
for (i = 0; i < AS_TEST_RESIZE_LAST; i++) {
g_autofree gchar *new_path = NULL;
- _cleanup_string_free_ GString *basename = NULL;
+ g_autoptr(GString) basename = NULL;
basename = g_string_new (tmp);
g_string_truncate (basename, basename->len - 4);
@@ -1966,7 +1966,7 @@ as_test_node_sort_func (void)
{
g_autoptr(GError) error = NULL;
_cleanup_node_unref_ GNode *root = NULL;
- _cleanup_string_free_ GString *str = NULL;
+ g_autoptr(GString) str = NULL;
root = as_node_from_xml ("<d>ddd</d><c>ccc</c><b>bbb</b><a>aaa</a>", 0, &error);
g_assert_no_error (error);
@@ -2273,7 +2273,7 @@ as_test_node_intltool_func (void)
{
GNode *n;
_cleanup_node_unref_ GNode *root = NULL;
- _cleanup_string_free_ GString *str = NULL;
+ g_autoptr(GString) str = NULL;
root = as_node_new ();
n = as_node_insert (root, "description", NULL, AS_NODE_INSERT_FLAG_NONE, NULL);
@@ -2428,7 +2428,7 @@ as_test_store_embedded_func (void)
gboolean ret;
g_autoptr(GError) error = NULL;
g_autoptr(AsStore) store = NULL;
- _cleanup_string_free_ GString *xml = NULL;
+ g_autoptr(GString) xml = NULL;
const gchar *xml_src =
"<components version=\"0.6\" origin=\"origin\">"
"<component type=\"desktop\">"
@@ -2673,7 +2673,7 @@ as_test_store_demote_func (void)
g_autoptr(AsApp) app_appdata = NULL;
g_autoptr(AsApp) app_desktop = NULL;
g_autoptr(AsStore) store = NULL;
- _cleanup_string_free_ GString *xml = NULL;
+ g_autoptr(GString) xml = NULL;
/* load example desktop file */
app_desktop = as_app_new ();
@@ -3069,7 +3069,7 @@ as_test_store_addons_func (void)
"</component>"
"</components>";
g_autoptr(AsStore) store = NULL;
- _cleanup_string_free_ GString *str = NULL;
+ g_autoptr(GString) str = NULL;
/* load a file to the store */
store = as_store_new ();
@@ -3726,7 +3726,7 @@ as_test_store_yaml_func (void)
g_autofree gchar *icon_root = NULL;
g_autoptr(AsStore) store = NULL;
g_autoptr(GFile) file = NULL;
- _cleanup_string_free_ GString *str = NULL;
+ g_autoptr(GString) str = NULL;
const gchar *xml =
"<components version=\"0.6\" origin=\"aequorea\">\n"
"<component type=\"desktop\">\n"
diff --git a/libappstream-glib/as-store.c b/libappstream-glib/as-store.c
index 1ad5987..e84c851 100644
--- a/libappstream-glib/as-store.c
+++ b/libappstream-glib/as-store.c
@@ -1357,7 +1357,7 @@ as_store_to_file (AsStore *store,
g_autoptr(GOutputStream) out2 = NULL;
g_autoptr(GOutputStream) out = NULL;
g_autoptr(GZlibCompressor) compressor = NULL;
- _cleanup_string_free_ GString *xml = NULL;
+ g_autoptr(GString) xml = NULL;
g_autofree gchar *basename = NULL;
/* check if compressed */
diff --git a/libappstream-glib/as-utils.c b/libappstream-glib/as-utils.c
index 376e228..4d12aed 100644
--- a/libappstream-glib/as-utils.c
+++ b/libappstream-glib/as-utils.c
@@ -81,7 +81,7 @@ as_markup_strsplit_words (const gchar *text, guint line_len)
{
GPtrArray *lines;
guint i;
- _cleanup_string_free_ GString *curline = NULL;
+ g_autoptr(GString) curline = NULL;
g_auto(GStrv) tokens = NULL;
/* sanity check */
@@ -196,7 +196,7 @@ as_markup_convert (const gchar *markup,
const gchar *tag;
const gchar *tag_c;
_cleanup_node_unref_ GNode *root = NULL;
- _cleanup_string_free_ GString *str = NULL;
+ g_autoptr(GString) str = NULL;
/* is this actually markup */
if (g_strstr_len (markup, -1, "<") == NULL)