diff options
Diffstat (limited to 'src/backend/taler-merchant-httpd.c')
-rw-r--r-- | src/backend/taler-merchant-httpd.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/backend/taler-merchant-httpd.c b/src/backend/taler-merchant-httpd.c index a1397ed3..4b2f3499 100644 --- a/src/backend/taler-merchant-httpd.c +++ b/src/backend/taler-merchant-httpd.c @@ -850,6 +850,20 @@ wireformat_iterator_cb (void *cls, "url", payto, "salt", salt_str); GNUNET_free (salt_str); + + /* Make sure every path component exists. */ + if (GNUNET_OK != GNUNET_DISK_directory_create_for_file (fn)) + { + GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, + "mkdir", + fn); + GNUNET_free (fn); + GNUNET_free (payto); + json_decref (j); + iic->ret = GNUNET_SYSERR; + return; + } + if (0 != json_dump_file (j, fn, JSON_COMPACT | JSON_SORT_KEYS)) |