summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomas Farago <sensej007@email.cz>2020-02-18 09:07:37 +0100
committerTomas Farago <sensej007@email.cz>2020-02-18 09:07:37 +0100
commitb70fd57d526a8b09d2fba60dae50b81a1b602cfa (patch)
treea0ef666e0b87bf390148b503de47ec728ad890ff
parent18b13e2c7e539e73d5659a0b610b195f1c580500 (diff)
downloadufo-filters-b70fd57d526a8b09d2fba60dae50b81a1b602cfa.tar.gz
ufo-filters-b70fd57d526a8b09d2fba60dae50b81a1b602cfa.tar.bz2
ufo-filters-b70fd57d526a8b09d2fba60dae50b81a1b602cfa.tar.xz
ufo-filters-b70fd57d526a8b09d2fba60dae50b81a1b602cfa.zip
write: handle stdout correctly
-rw-r--r--src/ufo-write-task.c16
1 files 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));