diff --git a/src/wayland-server.c b/src/wayland-server.c index f9f73b3..b3929ed 100644 --- a/src/wayland-server.c +++ b/src/wayland-server.c @@ -63,6 +63,7 @@ struct wl_socket { char lock_addr[UNIX_PATH_MAX + LOCK_SUFFIXLEN]; struct wl_list link; struct wl_event_source *source; + char *display_name; }; struct wl_client { @@ -1081,6 +1082,8 @@ wl_socket_init_for_display_name(struct wl_socket *s, const char *name) name_size = snprintf(s->addr.sun_path, sizeof s->addr.sun_path, "%s/%s", runtime_dir, name) + 1; + s->display_name = (s->addr.sun_path + name_size - 1) - strlen(name); + assert(name_size > 0); if (name_size > (int)sizeof s->addr.sun_path) { wl_log("error: socket path \"%s/%s\" plus null terminator"