git/contrib/coccinelle/object_id.cocci
René Scharfe c2bb0c1d1e cocci: avoid self-references in object_id transformations
The object_id functions oid_to_hex, oid_to_hex_r, oidclr, oidcmp, and
oidcpy are defined as wrappers of their legacy counterparts sha1_to_hex,
sha1_to_hex_r, hashclr, hashcmp, and hashcpy, respectively.  Make sure
that the Coccinelle transformations for converting legacy function calls
are not applied to these wrappers themselves, which would result in
tautological declarations.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-11-01 10:58:39 -07:00

110 lines
1.3 KiB
Text

@@
expression E1;
@@
- is_null_sha1(E1.hash)
+ is_null_oid(&E1)
@@
expression E1;
@@
- is_null_sha1(E1->hash)
+ is_null_oid(E1)
@@
expression E1;
@@
- sha1_to_hex(E1.hash)
+ oid_to_hex(&E1)
@@
identifier f != oid_to_hex;
expression E1;
@@
f(...) {...
- sha1_to_hex(E1->hash)
+ oid_to_hex(E1)
...}
@@
expression E1, E2;
@@
- sha1_to_hex_r(E1, E2.hash)
+ oid_to_hex_r(E1, &E2)
@@
identifier f != oid_to_hex_r;
expression E1, E2;
@@
f(...) {...
- sha1_to_hex_r(E1, E2->hash)
+ oid_to_hex_r(E1, E2)
...}
@@
expression E1;
@@
- hashclr(E1.hash)
+ oidclr(&E1)
@@
identifier f != oidclr;
expression E1;
@@
f(...) {...
- hashclr(E1->hash)
+ oidclr(E1)
...}
@@
expression E1, E2;
@@
- hashcmp(E1.hash, E2.hash)
+ oidcmp(&E1, &E2)
@@
identifier f != oidcmp;
expression E1, E2;
@@
f(...) {...
- hashcmp(E1->hash, E2->hash)
+ oidcmp(E1, E2)
...}
@@
expression E1, E2;
@@
- hashcmp(E1->hash, E2.hash)
+ oidcmp(E1, &E2)
@@
expression E1, E2;
@@
- hashcmp(E1.hash, E2->hash)
+ oidcmp(&E1, E2)
@@
expression E1, E2;
@@
- hashcpy(E1.hash, E2.hash)
+ oidcpy(&E1, &E2)
@@
identifier f != oidcpy;
expression E1, E2;
@@
f(...) {...
- hashcpy(E1->hash, E2->hash)
+ oidcpy(E1, E2)
...}
@@
expression E1, E2;
@@
- hashcpy(E1->hash, E2.hash)
+ oidcpy(E1, &E2)
@@
expression E1, E2;
@@
- hashcpy(E1.hash, E2->hash)
+ oidcpy(&E1, E2)