I'm on Ubuntu 14.04
spatch version 1.0.0-rc19 with Python support and with PCRE support



2015-03-31 17:49 GMT+02:00 Julia Lawall <[email protected]>:

>
>
> On Tue, 31 Mar 2015, François Armand wrote:
>
> > Better send my real stuff, than making misleading typos :-)
> >
> > My code:
> > #define MAX_RETRIES 3
> >
> > tmy_status
> > my_getattr_timeout(tmy_ctx *ctx,
> >            u64 ino)
> > {
> >   tmy_status ret;
> >   int tries = 0;
> >   int delay = 1;
> >
> >  retry:
> >   ret = my_getattr(ctx, ino);
> >   if (MY_SUCCESS != ret)
> >     {
> >       if (MY_ENOENT != ret &&
> >           MY_EPERM != ret)
> >         {
> >           if (tries < MAX_RETRIES)
> >             {
> >               HANDLE_TIMEOUT(tries, delay, "ino %llu", ino);
> >               goto retry;
> >             }
> >           else
> >             {
> >               MY_TRACE(MY_ERROR, 0u, "getattr: ino %llu"": I/O error",
> ino);
> >               return MY_FAILURE;
> >             }
> >         }
> >     }
> >   return ret;
> > }
> >
> > A working patch
> > @@
> > expression t;
> > constant M;
> > @@
> >        if (
> > -       t < M
> > +          foo(&ctx->retry_ctx)
> >           )
> >           {
> >       ...
> >       } else {
> >       ...
> >       }
> >
> > A patch I can't make to work. That last one exists w/o producing anything
> >
> > @@
> > expression t;
> > constant M;
> > @@
> >  if (...)
> >  {
> >     if (...)
> >     {
> >        if (
> > -       t < M
> > +          foo(&ctx->retry_ctx)
> >           )
> >           {
> >       ...
> >       } else {
> >       ...
> >       }
> >     }
> >   }
>
> It seems to work fine for me:
>
> @@ -15,7 +15,7 @@ my_getattr_timeout(tmy_ctx *ctx,
>              if (MY_ENOENT != ret &&
>                           MY_EPERM != ret)
>                 {
> -                 if (tries < MAX_RETRIES)
> +                 if (foo(&ctx->retry_ctx))
>                       {
>                         HANDLE_TIMEOUT(tries, delay, "ino %llu", ino);
>                       goto retry;
>
> What version of Coccinelle do you have?
>
> julia
_______________________________________________
Cocci mailing list
[email protected]
https://systeme.lip6.fr/mailman/listinfo/cocci

Reply via email to