diff mbox series

[v4,28/37] qdev: use g_strcmp0() instead of open-coding it

Message ID 20191120152442.26657-29-marcandre.lureau@redhat.com (mailing list archive)
State New, archived
Headers show
Series Clean-ups: qom-ify serial and remove QDEV_PROP_PTR | expand

Commit Message

Marc-André Lureau Nov. 20, 2019, 3:24 p.m. UTC
Minor code simplification.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 hw/core/qdev.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

Comments

Philippe Mathieu-Daudé Nov. 20, 2019, 4:25 p.m. UTC | #1
On 11/20/19 4:24 PM, Marc-André Lureau wrote:
> Minor code simplification.
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>   hw/core/qdev.c | 7 ++-----
>   1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/hw/core/qdev.c b/hw/core/qdev.c
> index cf1ba28fe3..c79befc865 100644
> --- a/hw/core/qdev.c
> +++ b/hw/core/qdev.c
> @@ -394,11 +394,8 @@ static NamedGPIOList *qdev_get_named_gpio_list(DeviceState *dev,
>       NamedGPIOList *ngl;
>   
>       QLIST_FOREACH(ngl, &dev->gpios, node) {
> -        /* NULL is a valid and matchable name, otherwise do a normal
> -         * strcmp match.
> -         */
> -        if ((!ngl->name && !name) ||
> -                (name && ngl->name && strcmp(name, ngl->name) == 0)) {
> +        /* NULL is a valid and matchable name. */
> +        if (g_strcmp0(name, ngl->name) == 0) {

Cocci pattern?

>               return ngl;
>           }
>       }
> 

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Eduardo Habkost Nov. 20, 2019, 5:10 p.m. UTC | #2
On Wed, Nov 20, 2019 at 05:25:47PM +0100, Philippe Mathieu-Daudé wrote:
> On 11/20/19 4:24 PM, Marc-André Lureau wrote:
> > Minor code simplification.
> > 
> > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> > ---
> >   hw/core/qdev.c | 7 ++-----
> >   1 file changed, 2 insertions(+), 5 deletions(-)
> > 
> > diff --git a/hw/core/qdev.c b/hw/core/qdev.c
> > index cf1ba28fe3..c79befc865 100644
> > --- a/hw/core/qdev.c
> > +++ b/hw/core/qdev.c
> > @@ -394,11 +394,8 @@ static NamedGPIOList *qdev_get_named_gpio_list(DeviceState *dev,
> >       NamedGPIOList *ngl;
> >       QLIST_FOREACH(ngl, &dev->gpios, node) {
> > -        /* NULL is a valid and matchable name, otherwise do a normal
> > -         * strcmp match.
> > -         */
> > -        if ((!ngl->name && !name) ||
> > -                (name && ngl->name && strcmp(name, ngl->name) == 0)) {
> > +        /* NULL is a valid and matchable name. */
> > +        if (g_strcmp0(name, ngl->name) == 0) {
> 
> Cocci pattern?

This seems tricky because there are many different ways of
writing an equivalent expression.  I tried to catch a few
variations, but the script below didn't find any other
occurrences except for the one being touched by this patch.

@@
expression A, B;
@@
(
-(!A && !B) || (A && B && !strcmp(A, B))
+!g_strcmp0(A, B)
|
-(!B && !A) || (A && B && !strcmp(A, B))
+!g_strcmp0(A, B)
|
-(!A && !B) || (B && A && !strcmp(A, B))
+!g_strcmp0(A, B)
|
-(!B && !A) || (B && A && !strcmp(A, B))
+!g_strcmp0(A, B)
|
-(!A && !B) || (B && A && strcmp(A, B) == 0)
+!g_strcmp0(A, B)
|
-(!B && !A) || (B && A && strcmp(A, B) == 0)
+!g_strcmp0(A, B)
|
-(!A && !B) || (A && B && strcmp(A, B) == 0)
+!g_strcmp0(A, B)
|
-(!B && !A) || (A && B && strcmp(A, B) == 0)
+!g_strcmp0(A, B)
)
diff mbox series

Patch

diff --git a/hw/core/qdev.c b/hw/core/qdev.c
index cf1ba28fe3..c79befc865 100644
--- a/hw/core/qdev.c
+++ b/hw/core/qdev.c
@@ -394,11 +394,8 @@  static NamedGPIOList *qdev_get_named_gpio_list(DeviceState *dev,
     NamedGPIOList *ngl;
 
     QLIST_FOREACH(ngl, &dev->gpios, node) {
-        /* NULL is a valid and matchable name, otherwise do a normal
-         * strcmp match.
-         */
-        if ((!ngl->name && !name) ||
-                (name && ngl->name && strcmp(name, ngl->name) == 0)) {
+        /* NULL is a valid and matchable name. */
+        if (g_strcmp0(name, ngl->name) == 0) {
             return ngl;
         }
     }