assert(ret_size);
r = make_filename(info, &fn);
- if (r < 0) {
- log_error("Failed to determine coredump file name: %s", strerror(-r));
- return r;
- }
+ if (r < 0)
+ return log_error_errno(r, "Failed to determine coredump file name: %m");
tmp = tempfn_random(fn);
if (!tmp)
log_error("Not enough disk space for coredump of %s (%s), refusing.", info[INFO_PID], info[INFO_COMM]);
goto fail;
} else if (r < 0) {
- log_error("Failed to dump coredump to file: %s", strerror(-r));
+ log_error_errno(r, "Failed to dump coredump to file: %m");
goto fail;
}
r = compress_stream(fd, fd_compressed, -1);
if (r < 0) {
- log_error("Failed to compress %s: %s", tmp_compressed, strerror(-r));
+ log_error_errno(r, "Failed to compress %s: %m", tmp_compressed);
goto fail_compressed;
}
memcpy(field, "COREDUMP=", 9);
n = read(fd, field + 9, size);
- if (n < 0) {
- log_error("Failed to read core data: %s", strerror(-n));
- return (int) n;
- }
+ if (n < 0)
+ return log_error_errno((int) n, "Failed to read core data: %m");
if ((size_t) n < size) {
log_error("Core data too short.");
return -EIO;
else if (r == -EINVAL)
log_warning("Failed to generate stack trace: %s", dwfl_errmsg(dwfl_errno()));
else
- log_warning("Failed to generate stack trace: %s", strerror(-r));
+ log_warning_errno(r, "Failed to generate stack trace: %m");
}
if (!core_message)
r = sd_journal_sendv(iovec, j);
if (r < 0)
- log_error("Failed to log coredump: %s", strerror(-r));
+ log_error_errno(r, "Failed to log coredump: %m");
finish:
return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;