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.lur...@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) ) -- Eduardo