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
weechat-hashes
Klemens Nanni 2021-06-12 23:38:38 +00:00 committed by C. McEnroe
parent 788eb772c8
commit 4c0cdae4e5
1 changed files with 1 additions and 1 deletions

2
xdg.c
View File

@ -118,7 +118,7 @@ void dataMkdir(const char *path) {
const char *dirs = NULL; const char *dirs = NULL;
path = dataPath(&dirs, path); path = dataPath(&dirs, path);
int error = mkdir(path, S_IRWXU); 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) { FILE *dataOpen(const char *path, const char *mode) {