diff options
author | Richard Hughes <richard@hughsie.com> | 2014-11-06 22:37:19 +0000 |
---|---|---|
committer | Richard Hughes <richard@hughsie.com> | 2014-11-06 22:47:30 +0000 |
commit | 942898d8df0403c3b4753821d47d583d55c77432 (patch) | |
tree | a4e714f5d8a6877bf5333c80d88cc6361e9425ed /client/cd-it8.c | |
parent | cf8a0d8a0844c54e188c363409c2be04cb0b9c19 (diff) | |
download | colord-942898d8df0403c3b4753821d47d583d55c77432.tar.gz |
Use _cleanup_free() in the client tools
Diffstat (limited to 'client/cd-it8.c')
-rw-r--r-- | client/cd-it8.c | 93 |
1 files changed, 29 insertions, 64 deletions
diff --git a/client/cd-it8.c b/client/cd-it8.c index 4a891d3..162268d 100644 --- a/client/cd-it8.c +++ b/client/cd-it8.c @@ -82,9 +82,9 @@ cd_util_add (GPtrArray *array, const gchar *description, CdUtilPrivateCb callback) { - gchar **names; guint i; CdUtilItem *item; + _cleanup_strv_free_ gchar **names = NULL; g_return_if_fail (name != NULL); g_return_if_fail (description != NULL); @@ -106,7 +106,6 @@ cd_util_add (GPtrArray *array, item->callback = callback; g_ptr_array_add (array, item); } - g_strfreev (names); } /** @@ -161,18 +160,15 @@ cd_util_get_descriptions (GPtrArray *array) static gboolean cd_util_run (CdUtilPrivate *priv, const gchar *command, gchar **values, GError **error) { - gboolean ret = FALSE; guint i; CdUtilItem *item; - GString *string; + _cleanup_string_free_ GString *string = NULL; /* find command */ for (i = 0; i < priv->cmd_array->len; i++) { item = g_ptr_array_index (priv->cmd_array, i); - if (g_strcmp0 (item->name, command) == 0) { - ret = item->callback (priv, values, error); - goto out; - } + if (g_strcmp0 (item->name, command) == 0) + return item->callback (priv, values, error); } /* not found */ @@ -187,9 +183,7 @@ cd_util_run (CdUtilPrivate *priv, const gchar *command, gchar **values, GError * item->arguments ? item->arguments : ""); } g_set_error_literal (error, CD_ERROR, CD_ERROR_NO_SUCH_CMD, string->str); - g_string_free (string, TRUE); -out: - return ret; + return FALSE; } typedef struct { @@ -215,39 +209,37 @@ cd_util_create_cmf (CdUtilPrivate *priv, GError **error) { gboolean ret = TRUE; - CdIt8 *cmf = NULL; CdSpectrum *spectrum[3] = { NULL, NULL, NULL }; CdSpectrumData *tmp; - GFile *file = NULL; - GPtrArray *array = NULL; - gchar **lines = NULL; - gchar **split; - gchar *data = NULL; gchar *dot; - gchar *title = NULL; guint i; gdouble norm; + _cleanup_free_ gchar *data = NULL; + _cleanup_free_ gchar *title = NULL; + _cleanup_object_unref_ CdIt8 *cmf = NULL; + _cleanup_object_unref_ GFile *file = NULL; + _cleanup_ptrarray_unref_ GPtrArray *array = NULL; + _cleanup_strv_free_ gchar **lines = NULL; if (g_strv_length (values) != 3) { - ret = FALSE; g_set_error_literal (error, CD_ERROR, CD_ERROR_INVALID_ARGUMENTS, "Not enough arguments, expected: " "file.cmf file.csv norm"); - goto out; + return FALSE; } /* get data */ - ret = g_file_get_contents (values[1], &data, NULL, error); - if (!ret) - goto out; + if (!g_file_get_contents (values[1], &data, NULL, error)) + return FALSE; /* parse lines */ norm = g_strtod (values[2], NULL); array = g_ptr_array_new_with_free_func ((GDestroyNotify) cd_csv2cmf_data_free); lines = g_strsplit (data, "\n", -1); for (i = 0; lines[i] != NULL; i++) { + _cleanup_strv_free_ gchar **split = NULL; if (lines[i][0] == '\0') continue; if (lines[i][0] == '#') @@ -264,17 +256,15 @@ cd_util_create_cmf (CdUtilPrivate *priv, } else { g_printerr ("Ignoring data line: %s", lines[i]); } - g_strfreev (split); } /* did we get enough data */ if (array->len < 3) { - ret = FALSE; g_set_error_literal (error, CD_ERROR, CD_ERROR_INVALID_ARGUMENTS, "Not enough data in the CSV file"); - goto out; + return FALSE; } for (i = 0; i < 3; i++) { @@ -327,15 +317,6 @@ out: if (spectrum[i] != NULL) cd_spectrum_free (spectrum[i]); } - if (array != NULL) - g_ptr_array_unref (array); - if (cmf != NULL) - g_object_unref (cmf); - if (file != NULL) - g_object_unref (file); - g_free (data); - g_free (title); - g_strfreev (lines); return ret; } @@ -403,39 +384,37 @@ cd_util_create_sp (CdUtilPrivate *priv, gchar **values, GError **error) { - CdIt8 *cmf = NULL; CdSpectrum *spectrum = NULL; CdSpectrumData *tmp; - GFile *file = NULL; - GPtrArray *array = NULL; gboolean ret = TRUE; - gchar **lines = NULL; - gchar **split; - gchar *data = NULL; gchar *dot; - gchar *title = NULL; gdouble norm; guint i; + _cleanup_free_ gchar *data = NULL; + _cleanup_free_ gchar *title = NULL; + _cleanup_object_unref_ CdIt8 *cmf = NULL; + _cleanup_object_unref_ GFile *file = NULL; + _cleanup_ptrarray_unref_ GPtrArray *array = NULL; + _cleanup_strv_free_ gchar **lines = NULL; if (g_strv_length (values) < 1) { - ret = FALSE; g_set_error_literal (error, CD_ERROR, CD_ERROR_INVALID_ARGUMENTS, "Not enough arguments, expected: file"); - goto out; + return FALSE; } /* get data */ - ret = g_file_get_contents (values[1], &data, NULL, error); - if (!ret) - goto out; + if (!g_file_get_contents (values[1], &data, NULL, error)) + return FALSE; /* parse lines */ array = g_ptr_array_new_with_free_func ((GDestroyNotify) cd_csv2cmf_data_free); lines = g_strsplit (data, "\n", -1); norm = g_strtod (values[2], NULL); for (i = 0; lines[i] != NULL; i++) { + _cleanup_strv_free_ gchar **split = NULL; if (lines[i][0] == '\0') continue; if (lines[i][0] == '#') @@ -452,17 +431,15 @@ cd_util_create_sp (CdUtilPrivate *priv, } else { g_printerr ("Ignoring data line: %s", lines[i]); } - g_strfreev (split); } /* did we get enough data */ if (array->len < 3) { - ret = FALSE; g_set_error_literal (error, CD_ERROR, CD_ERROR_INVALID_ARGUMENTS, "Not enough data in the CSV file"); - goto out; + return FALSE; } spectrum = cd_spectrum_sized_new (array->len); @@ -500,15 +477,6 @@ cd_util_create_sp (CdUtilPrivate *priv, out: if (spectrum != NULL) cd_spectrum_free (spectrum); - if (array != NULL) - g_ptr_array_unref (array); - if (cmf != NULL) - g_object_unref (cmf); - if (file != NULL) - g_object_unref (file); - g_free (data); - g_free (title); - g_strfreev (lines); return ret; } @@ -530,9 +498,9 @@ main (int argc, char *argv[]) CdUtilPrivate *priv; gboolean ret; gboolean verbose = FALSE; - gchar *cmd_descriptions = NULL; - GError *error = NULL; guint retval = 1; + _cleanup_error_free_ GError *error = NULL; + _cleanup_free_ gchar *cmd_descriptions = NULL; const GOptionEntry options[] = { { "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose, /* TRANSLATORS: command line option */ @@ -588,7 +556,6 @@ main (int argc, char *argv[]) g_print ("%s: %s\n", _("Failed to parse arguments"), error->message); - g_error_free (error); goto out; } @@ -611,7 +578,6 @@ main (int argc, char *argv[]) } else { g_print ("%s\n", error->message); } - g_error_free (error); goto out; } @@ -624,7 +590,6 @@ out: g_option_context_free (priv->context); g_free (priv); } - g_free (cmd_descriptions); return retval; } |