This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 06/25/2018 11:48 PM, DJ Delorie wrote:
slash_p = strrchr (path, '/'); if (slash_p)
No implicit comparison against NULL, please.
{ while (slash_p > path && slash_p[-1] == '/') --slash_p; if (slash_p > path) { char *parent = xstrndup (path, slash_p - path); rv = xmkdirp (parent, mode); free (parent); } } rv = mkdir (path, mode); if (rv != 0) FAIL_EXIT1 ("mkdir_p (\"%s\", 0%o): %m", path, mode);
The recursion is a bit awkward, but I think it will give a reasonable error code because of the preceding stat check (which is repeated many times unnecessarily). But for test support code, that's fine, I think.
Thanks, Florian
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |