If the mkdir fails, we'll exit without freeing str.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
int pb_mkdir_recursive(const char *dir)
{
struct stat statbuf;
int pb_mkdir_recursive(const char *dir)
{
struct stat statbuf;
str = talloc_strdup(NULL, dir);
sep = strchr(*str == '/' ? str + 1 : str, '/');
str = talloc_strdup(NULL, dir);
sep = strchr(*str == '/' ? str + 1 : str, '/');
while (1) {
/* terminate the path at sep */
while (1) {
/* terminate the path at sep */
if (mkdir(str, mode) && errno != EEXIST) {
pb_log("mkdir(%s): %s\n", str, strerror(errno));
if (mkdir(str, mode) && errno != EEXIST) {
pb_log("mkdir(%s): %s\n", str, strerror(errno));
}
int pb_rmdir_recursive(const char *base, const char *dir)
}
int pb_rmdir_recursive(const char *base, const char *dir)