> --- a/lib/xz/xz_crc32.c
> +++ b/lib/xz/xz_crc32.c
> @@ -43,7 +43,7 @@ XZ_EXTERN void xz_crc32_init(void)
>               xz_crc32_table[i] = r;
>       }
>  
> -     return;
> +     RETURN;
>  }
>  
>  XZ_EXTERN uint32_t xz_crc32(const uint8_t *buf, size_t size, uint32_t crc)

This is indeed a parsing problem.  When it has the whole file, when it
comes to the definition of xz_crc32 it is able to detect that XZ_EXTERN is
something that it should ignore.  But after it makes the transformation in
xz_crc32_init, it reparses just that function and does not obtain this
information.

Perhaps it is possible to fix.  But I have the impression that I undid
something in this regard, because it is not always desirable to use the
macro information inferred from one part of a file in parsing things
elsewhere in the file, so fixing this problem may break something else...

julia
_______________________________________________
Cocci mailing list
[email protected]
https://systeme.lip6.fr/mailman/listinfo/cocci

Reply via email to