Re: [BlueZ v2 2/7] client: Use g_clear_pointer() to clean up menus

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2024-10-22 at 10:59 -0400, Luiz Augusto von Dentz wrote:
> Hi Bastien,
> 
> On Tue, Oct 22, 2024 at 8:01 AM Bastien Nocera <hadess@xxxxxxxxxx>
> wrote:
> > 
> > This would avoid warnings should the client be NULL.
> > ---
> >  client/admin.c     | 5 ++---
> >  client/assistant.c | 5 ++---
> >  client/player.c    | 4 ++--
> >  3 files changed, 6 insertions(+), 8 deletions(-)
> > 
> > diff --git a/client/admin.c b/client/admin.c
> > index cd9af6f955da..9d48867bc1d7 100644
> > --- a/client/admin.c
> > +++ b/client/admin.c
> > @@ -191,7 +191,7 @@ static void proxy_removed(GDBusProxy *proxy,
> > void *user_data)
> >                 admin_policy_status_removed(proxy);
> >  }
> > 
> > -static GDBusClient *client;
> > +static GDBusClient *client = NULL;
> > 
> >  static void disconnect_handler(DBusConnection *connection, void
> > *user_data)
> >  {
> > @@ -215,6 +215,5 @@ void admin_add_submenu(void)
> > 
> >  void admin_remove_submenu(void)
> >  {
> > -       g_dbus_client_unref(client);
> > -       client = NULL;
> > +       g_clear_pointer(&client, g_dbus_client_unref);
> 
> Don't think it is worth bumping the glib dependency just to add a
> NULL
> pointer check, in fact g_dbus_client_unref should be safe to be
> called
> with NULL pointers so I wonder if this is a false positive.

You're right, it's not the GLib gdbus. Feel free to skip this and the
preceding patch then. It should rebase cleanly, but I can send a v4 if
needed.

> 
> >  }
> > diff --git a/client/assistant.c b/client/assistant.c
> > index 16e94664a5c3..94052e26fd59 100644
> > --- a/client/assistant.c
> > +++ b/client/assistant.c
> > @@ -390,7 +390,7 @@ static const struct bt_shell_menu
> > assistant_menu = {
> >         {} },
> >  };
> > 
> > -static GDBusClient * client;
> > +static GDBusClient * client = NULL;
> > 
> >  void assistant_add_submenu(void)
> >  {
> > @@ -409,7 +409,6 @@ void assistant_add_submenu(void)
> > 
> >  void assistant_remove_submenu(void)
> >  {
> > -       g_dbus_client_unref(client);
> > -       client = NULL;
> > +       g_clear_pointer(&client, g_dbus_client_unref);
> >  }
> > 
> > diff --git a/client/player.c b/client/player.c
> > index 188378175486..dea5922d56db 100644
> > --- a/client/player.c
> > +++ b/client/player.c
> > @@ -5694,7 +5694,7 @@ static const struct bt_shell_menu
> > transport_menu = {
> >         {} },
> >  };
> > 
> > -static GDBusClient *client;
> > +static GDBusClient *client = NULL;
> > 
> >  void player_add_submenu(void)
> >  {
> > @@ -5715,6 +5715,6 @@ void player_add_submenu(void)
> > 
> >  void player_remove_submenu(void)
> >  {
> > -       g_dbus_client_unref(client);
> > +       g_clear_pointer(&client, g_dbus_client_unref);
> >         queue_destroy(ios, transport_free);
> >  }
> > --
> > 2.47.0
> > 
> > 
> 
> 






[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux