* other processes as we do in CI.
*/
if ((mkdirat(*fd_out, p + 1, 0700) < 0) && (errno != EEXIST)) {
- fr_strerror_printf("Failed creating directory: %s", fr_syserror(errno));
+ fr_strerror_printf_push("Failed creating directory: %s", fr_syserror(errno));
mkdirat_error:
close(*fd_out);
*fd_out = -1;
fd = openat(*fd_out, p + 1, O_DIRECTORY);
if (fd < 0) {
- fr_strerror_printf("Failed opening directory we "
- "created: %s", fr_syserror(errno));
+ fr_strerror_printf_push("Failed opening directory we "
+ "created: %s", fr_syserror(errno));
goto mkdirat_error;
}
if (fchmod(fd, mode) < 0) {
- fr_strerror_printf("Failed setting permissions on "
- "directory we created: %s", fr_syserror(errno));
+ fr_strerror_printf_push("Failed setting permissions on "
+ "directory we created: %s", fr_syserror(errno));
goto mkdirat_error;
}
*p = FR_DIR_SEP;
return -1;
}
+ fr_strerror_clear(); /* We make liberal use of push */
+
/*
* Call the recursive function to
* create any missing dirs in the