summaryrefslogtreecommitdiff
path: root/client/cd-it8.c
diff options
context:
space:
mode:
authorRichard Hughes <richard@hughsie.com>2014-11-06 22:37:19 +0000
committerRichard Hughes <richard@hughsie.com>2014-11-06 22:47:30 +0000
commit942898d8df0403c3b4753821d47d583d55c77432 (patch)
treea4e714f5d8a6877bf5333c80d88cc6361e9425ed /client/cd-it8.c
parentcf8a0d8a0844c54e188c363409c2be04cb0b9c19 (diff)
downloadcolord-942898d8df0403c3b4753821d47d583d55c77432.tar.gz
Use _cleanup_free() in the client tools
Diffstat (limited to 'client/cd-it8.c')
-rw-r--r--client/cd-it8.c93
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;
}