From b70fd57d526a8b09d2fba60dae50b81a1b602cfa Mon Sep 17 00:00:00 2001 From: Tomas Farago Date: Tue, 18 Feb 2020 09:07:37 +0100 Subject: write: handle stdout correctly --- src/ufo-write-task.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/ufo-write-task.c b/src/ufo-write-task.c index 2e19c64..0f1e478 100644 --- a/src/ufo-write-task.c +++ b/src/ufo-write-task.c @@ -126,6 +126,10 @@ ufo_write_task_new (void) static gchar * get_current_filename (UfoWriteTaskPrivate *priv) { + if (!priv->filename) { + return NULL; + } + if (!priv->num_fmt_specifiers) return g_strdup (priv->filename); @@ -357,7 +361,7 @@ retry: GError *error = NULL; gchar *filename = get_current_filename (priv); - if (!can_be_written (filename, &error)) { + if (filename && !can_be_written (filename, &error)) { g_warning ("%s", error->message); g_free (filename); g_error_free (error); @@ -366,7 +370,9 @@ retry: } ufo_writer_open (priv->writer, filename); - g_free (filename); + if (filename) { + g_free (filename); + } priv->opened = TRUE; } @@ -551,8 +557,10 @@ ufo_write_task_finalize (GObject *object) priv = UFO_WRITE_TASK_GET_PRIVATE (object); - g_free (priv->filename); - priv->filename= NULL; + if (priv->filename) { + g_free (priv->filename); + priv->filename= NULL; + } if (priv->kernel) { UFO_RESOURCES_CHECK_CLERR (clReleaseKernel (priv->kernel)); -- cgit v1.2.1