summary refs log tree commit diff
diff options
context:
space:
mode:
authorKlemens Nanni2021-06-12 23:38:38 +0000
committerC. McEnroe2021-06-13 14:04:48 -0400
commit4c0cdae4e5c4b81ca363c9ee48e423df0850fb29 (patch)
tree9671093f736a4777c6ce60c7cfc319a6564291f3
parent788eb772c8aa599a4e22ca594beafba4046160e4 (diff)
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
-rw-r--r--xdg.c2
1 files changed, 1 insertions, 1 deletions
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) {