r = getnameinfo(&sa->sa, salen, host, sizeof(host), NULL, 0,
NI_IDN|NI_IDN_USE_STD3_ASCII_RULES);
if (r != 0) {
- _cleanup_free_ char *sockname = NULL;
int saved_errno = errno;
- r = sockaddr_pretty(&sa->sa, salen, true, &sockname);
+ r = sockaddr_pretty(&sa->sa, salen, true, &ret);
if (r < 0)
- log_error("sockadd_pretty() failed: %s", strerror(-r));
- else
- log_error("getnameinfo(%s) failed: %s", sockname, strerror(-r));
- return -saved_errno;
- }
+ return log_error_errno(r, "sockadd_pretty() failed: %m");
- ret = strdup(host);
- if (!ret)
- return log_oom();
+ log_debug_errno(saved_errno, "getnameinfo(%s) failed: %m", ret);
+ } else {
+ ret = strdup(host);
+ if (!ret)
+ return log_oom();
+ }
*_ret = ret;
return 0;
assert(fd >= 0);
assert(ret);
- if (getsockname(fd, &sa.sa, &salen) < 0) {
- log_error("getsockname(%d) failed: %m", fd);
- return -errno;
- }
+ if (getsockname(fd, &sa.sa, &salen) < 0)
+ return log_error_errno(errno, "getsockname(%d) failed: %m", fd);
return socknameinfo_pretty(&sa, salen, ret);
}