From edd7aa17f44dc718ab80b2dd29481fbfafa93c3e Mon Sep 17 00:00:00 2001 From: oetiker Date: Mon, 28 Sep 2009 16:15:13 +0000 Subject: [PATCH] try to create missing journal directories rather than abort with an error. -- Sebastian Harl git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk@1914 a5681a0c-68f1-0310-ab6d-d61299d08faa --- program/src/rrd_daemon.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/program/src/rrd_daemon.c b/program/src/rrd_daemon.c index 16b5df59..308d3b6b 100644 --- a/program/src/rrd_daemon.c +++ b/program/src/rrd_daemon.c @@ -2923,18 +2923,17 @@ static int read_options (int argc, char **argv) /* {{{ */ case 'j': { - struct stat statbuf; const char *dir = journal_dir = strdup(optarg); - status = stat(dir, &statbuf); + status = rrd_mkdir_p(dir, 0777); if (status != 0) { - fprintf(stderr, "Cannot stat '%s' : %s\n", dir, rrd_strerror(errno)); + fprintf(stderr, "Failed to create journal directory '%s': %s\n", + dir, rrd_strerror(errno)); return 6; } - if (!S_ISDIR(statbuf.st_mode) - || access(dir, R_OK|W_OK|X_OK) != 0) + if (access(dir, R_OK|W_OK|X_OK) != 0) { fprintf(stderr, "Must specify a writable directory with -j! (%s)\n", errno ? rrd_strerror(errno) : ""); -- 2.30.2