# HG changeset patch # User Matti Hamalainen # Date 1455239031 -7200 # Node ID 87ef546de41901f3c90b6e5e71f3f9364f748549 # Parent 0b81e5fdc7b5ec30aa88cda0e1bba1934b56c31f Create configuration directory path if it does not yet exist when saving configuration. diff -r 0b81e5fdc7b5 -r 87ef546de419 main.c --- a/main.c Fri Feb 12 03:03:17 2016 +0200 +++ b/main.c Fri Feb 12 03:03:51 2016 +0200 @@ -96,6 +96,7 @@ optLogDaily = FALSE, optOnlyFriendPrv = FALSE; +char *setHomeDir = NULL, *setConfigDir = NULL, *setProxyURI = NULL; th_llist_t *setIgnoreList = NULL, *setFriendList = NULL, *setIdleMessages = NULL; @@ -1271,6 +1272,13 @@ int cfgfd = -1; #endif + if (!th_mkdir_path(setConfigDir, 0)) + { + printMsgQ(currWin, "Could not create configuration file directory '%s'.\n", + setConfigDir); + goto error; + } + if ((ctx = th_io_new(&th_stdio_io_ops, setConfigFile)) == NULL) { printMsgQ(currWin, "Could not initialize I/O context for configuration file writing!\n"); @@ -1947,7 +1955,6 @@ nn_editbuf_t *editBuf = nn_editbuf_new(NN_TMPBUF_SIZE); nn_editstate_t editState; th_cfgitem_t *tmpcfg; - char *setHomeDir = NULL, *setConfigDir = NULL, *setProxyURI = NULL; memset(editHistBuf, 0, sizeof(editHistBuf)); clearEditState(&editState);