From 4c0cdae4e5c4b81ca363c9ee48e423df0850fb29 Mon Sep 17 00:00:00 2001 From: Klemens Nanni Date: Sat, 12 Jun 2021 23:38:38 +0000 Subject: [PATCH] Exit on data directory creation error No point in creating (sub)directories when the given root failed already as is the case when e.g. XDG_DATA_HOME/catgirl/ itself is bogus (cleaned stderr intermangled with ncurses setup/catgirl output): $ env -i TERM=xterm XDG_DATA_HOME=/ ./catgirl -h irc.hackint.eu -n nobody -l catgirl: //catgirl/: Permission denied catgirl: //catgirl/log: No such file or directory catgirl: //catgirl/log/hackint: No such file or directory catgirl: //catgirl/log/hackint/NickServ: No such file or directory catgirl: //catgirl/: Permission denied catgirl: //catgirl/log/hackint/NickServ/2021-06-13.log: No such file or directory --- xdg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xdg.c b/xdg.c index b206427..e4b252d 100644 --- a/xdg.c +++ b/xdg.c @@ -118,7 +118,7 @@ void dataMkdir(const char *path) { const char *dirs = NULL; path = dataPath(&dirs, path); int error = mkdir(path, S_IRWXU); - if (error && errno != EEXIST) warn("%s", path); + if (error && errno != EEXIST) err(EX_CANTCREAT, "%s", path); } FILE *dataOpen(const char *path, const char *mode) {