X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fudev%2Fcollect%2Fcollect.c;fp=src%2Fudev%2Fcollect%2Fcollect.c;h=90df360eb2b5ec110f1fc5e420250eb389072ca2;hb=c9732bae8f29be644e7b4b1cc4f738ef85477c72;hp=dc849bd0f00839340038902de73bd67fb5f47d5e;hpb=8e24a4f8b6f53883ea515ae8f27fb6b1795973b4;p=elogind.git diff --git a/src/udev/collect/collect.c b/src/udev/collect/collect.c index dc849bd0f..90df360eb 100644 --- a/src/udev/collect/collect.c +++ b/src/udev/collect/collect.c @@ -86,12 +86,12 @@ static void usage(void) */ static int prepare(char *dir, char *filename) { - struct stat statbuf; char buf[512]; - int fd; + int r, fd; - if (stat(dir, &statbuf) < 0) - mkdir(dir, 0700); + r = mkdir(dir, 0700); + if (r < 0 && errno != EEXIST) + return -errno; snprintf(buf, sizeof(buf), "%s/%s", dir, filename);