#include <haproxy/protocol.h>
#include <haproxy/sock.h>
#include <haproxy/sock_unix.h>
+#include <haproxy/tools.h>
static int uxdg_bind_listener(struct listener *listener, char *errmsg, int errlen);
static void uxdg_enable_listener(struct listener *listener);
uxdg_return:
if (msg && errlen) {
- const char *path = ((struct sockaddr_un *)&listener->rx.addr)->sun_path;
- snprintf(errmsg, errlen, "%s for [%s]", msg, path);
+ char *path_str;
+
+ path_str = sa2str((struct sockaddr_storage *)&listener->rx.addr, 0, 0);
+ snprintf(errmsg, errlen, "%s for [%s]", msg, ((path_str) ? path_str : ""));
+ ha_free(&path_str);
}
return err;
}
close(fd);
uxst_return:
if (msg && errlen) {
- const char *path = ((struct sockaddr_un *)&listener->rx.addr)->sun_path;
- snprintf(errmsg, errlen, "%s for [%s]", msg, path);
+ char *path_str;
+
+ path_str = sa2str((struct sockaddr_storage *)&listener->rx.addr, 0, 0);
+ snprintf(errmsg, errlen, "%s for [%s]", msg, ((path_str) ? path_str : ""));
+ ha_free(&path_str);
}
return err;
}
unlink(backname);
bind_return:
if (errmsg && *errmsg) {
- if (!ext)
- memprintf(errmsg, "%s [%s]", *errmsg, path);
+ if (!ext) {
+ char *path_str;
+
+ path_str = sa2str((struct sockaddr_storage *)&rx->addr, 0, 0);
+ memprintf(errmsg, "%s [%s]", *errmsg, ((path_str) ? path_str : ""));
+ ha_free(&path_str);
+ }
else
memprintf(errmsg, "%s [fd %d]", *errmsg, fd);
}