[PATCH wayland 1/1] connection: Move wl_interface_equal to util
Bryce Harrington
bryce at osg.samsung.com
Wed May 11 01:08:15 UTC 2016
On Mon, May 09, 2016 at 03:41:14PM +0300, Pekka Paalanen wrote:
> On Sun, 8 May 2016 08:44:08 -0500
> Yong Bakos <junk at humanoriented.com> wrote:
>
> > From: Yong Bakos <ybakos at humanoriented.com>
> >
> > Move the wl_interface_equal prototype to the top of wayland-private, where
> > it is not buried in the middle of map, connection and closure functions.
> >
> > Move the implementation out of connection and into util. This is a utility
> > function, not specific to connections, and has call sites within connection,
> > wayland-client and wayland-server.
> >
> > Signed-off-by: Yong Bakos <ybakos at humanoriented.com>
> > ---
> > src/connection.c | 13 -------------
> > src/wayland-private.h | 8 ++++----
> > src/wayland-util.c | 13 +++++++++++++
> > 3 files changed, 17 insertions(+), 17 deletions(-)
> >
> > diff --git a/src/connection.c b/src/connection.c
> > index 747229e..c3293a9 100644
> > --- a/src/connection.c
> > +++ b/src/connection.c
> > @@ -798,19 +798,6 @@ wl_connection_demarshal(struct wl_connection *connection,
> > }
> >
> > int
> > -wl_interface_equal(const struct wl_interface *a, const struct wl_interface *b)
> > -{
> > - /* In most cases the pointer equality test is sufficient.
> > - * However, in some cases, depending on how things are split
> > - * across shared objects, we can end up with multiple
> > - * instances of the interface metadata constants. So if the
> > - * pointers match, the interfaces are equal, if they don't
> > - * match we have to compare the interface names. */
> > -
> > - return a == b || strcmp(a->name, b->name) == 0;
> > -}
> > -
> > -int
> > wl_closure_lookup_objects(struct wl_closure *closure, struct wl_map *objects)
> > {
> > struct wl_object *object;
> > diff --git a/src/wayland-private.h b/src/wayland-private.h
> > index 994bc45..a9a07a8 100644
> > --- a/src/wayland-private.h
> > +++ b/src/wayland-private.h
> > @@ -55,6 +55,10 @@ struct wl_object {
> > extern struct wl_object global_zombie_object;
> > #define WL_ZOMBIE_OBJECT ((void*)&global_zombie_object)
> >
> > +int
> > +wl_interface_equal(const struct wl_interface *iface1,
> > + const struct wl_interface *iface2);
> > +
> > /* Flags for wl_map_insert_new and wl_map_insert_at. Flags can be queried with
> > * wl_map_lookup_flags. The current implementation has room for 1 bit worth of
> > * flags. If more flags are ever added, the implementation of wl_map will have
> > @@ -103,10 +107,6 @@ struct wl_connection;
> > struct wl_closure;
> > struct wl_proxy;
> >
> > -int
> > -wl_interface_equal(const struct wl_interface *iface1,
> > - const struct wl_interface *iface2);
> > -
> > struct wl_connection *
> > wl_connection_create(int fd);
> >
> > diff --git a/src/wayland-util.c b/src/wayland-util.c
> > index 748476a..5bfb7e1 100644
> > --- a/src/wayland-util.c
> > +++ b/src/wayland-util.c
> > @@ -35,6 +35,19 @@
> >
> > struct wl_object global_zombie_object;
> >
> > +int
> > +wl_interface_equal(const struct wl_interface *a, const struct wl_interface *b)
> > +{
> > + /* In most cases the pointer equality test is sufficient.
> > + * However, in some cases, depending on how things are split
> > + * across shared objects, we can end up with multiple
> > + * instances of the interface metadata constants. So if the
> > + * pointers match, the interfaces are equal, if they don't
> > + * match we have to compare the interface names.
> > + */
> > + return a == b || strcmp(a->name, b->name) == 0;
> > +}
> > +
> > WL_EXPORT void
> > wl_list_init(struct wl_list *list)
> > {
>
> Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Bryce Harrington <bryce at osg.samsung.com>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2
>
> iQIVAwUBVzCFcSNf5bQRqqqnAQjtfBAAmOgNH+tI3mDtBCTwTnPfslCyeDHlZmoa
> JSvXlkyfxUx0C2TmC4pDUI89JB7pEHM1b2m3u8OotMDBgTf9Vawb9pQuCZB0W8MX
> 406+41f/m4Lbfo6R66wMiec5swHDxIMA2iu2lR42NKoQEAMfHlkA6QPnZhhJhWNv
> PT0lwIMG7S82x8j3iHOj/faXCG1WnK1zNL7ZAFCp7Ug1i4o2KeEZqpqS2MRDy/T0
> O6U3tZHLi42vtxXqsWPY6X4/J2YIysbTM4K17IZlkgxiRUstBncoRdNf0Upo5rPc
> ZaHBO0wmf55uzUNxgTC3Mh1XopgtNn6/jGV7UlW/U3avSv+cNx8x0k0Geq9K1cch
> 8lX0RxyEyFlPn6pDk9S27wNdh0SLx7yhfpiCms6x+CHCF2mVjSbViM0d4g1VY5Uw
> gT69+fhvnbdaJygh35oReoo86PZOpR61phWmeQkToXaj+FnEG8Pl5HSTpqG5tARH
> G0OXoLdTIXC4yJZUVA15KiUB3QKJmYxiryX3LYrlqiCZI0UCPBY1pI59Nczmy7wo
> IlQiL3PJIOMGNTqL+Fuzn42DPhfbxugxnTeFTlGyDrzPnUUjCpTqAUrc7r+25OCi
> vb3wKtH6kgCoEJCY8gI9zKy0PpbMg40DIQDpTfC38ee4rDsvLwzfkYyqrOLK/sPO
> HXM1WjdzO4Q=
> =yi7J
> -----END PGP SIGNATURE-----
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/wayland-devel
More information about the wayland-devel
mailing list