server: Save the display name in the wl_socket
authorJasper St. Pierre <jstpierre@mecheye.net>
Thu, 8 May 2014 15:25:34 +0000 (11:25 -0400)
committerJasper St. Pierre <jstpierre@mecheye.net>
Tue, 5 Aug 2014 19:43:00 +0000 (15:43 -0400)
This allows us to return the display name to the client in a new API.

src/wayland-server.c

index f9f73b3..b3929ed 100644 (file)
@@ -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"