]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Update the semantic patches to use new development ideas
authorOndřej Surý <ondrej@isc.org>
Wed, 8 Oct 2025 15:03:18 +0000 (17:03 +0200)
committerOndřej Surý <ondrej@isc.org>
Wed, 8 Oct 2025 15:22:10 +0000 (17:22 +0200)
Co-Authored-By: Markus Elfring <Markus.Elfring@web.de>
18 files changed:
cocci/DNS_TYPEPAIR_VALUE.spatch
cocci/UV_RUNTIME_CHECK.spatch
cocci/ctype.spatch
cocci/dns_message_destroy.spatch
cocci/dns_message_gettemp.disabled
cocci/dns_rbtnodechain_init.disabled
cocci/isc_buffer_allocate_never_fail.spatch
cocci/isc_mem_allocate_never_fail.spatch
cocci/isc_mem_cget.spatch
cocci/isc_mem_get_never_fail.spatch
cocci/isc_mem_macros.spatch
cocci/isc_mem_putanddetach.spatch
cocci/isc_mem_strdup_never_fail.spatch
cocci/isc_mempool_get_never_fail.spatch
cocci/memcpy.spatch
cocci/return-void-from-void.spatch
cocci/set_if_not_null.spatch
cocci/unreachable.spatch

index 5172bd1a67187a8cec833926722ae1d8d62c6892..fe75b369269d30707a991d08f2c62bcf28f925ff 100644 (file)
@@ -1,7 +1,6 @@
+@replacement@
+expression e;
 @@
-identifier RRSIG = dns_rdatatype_rrsig;
-expression T;
-@@
-
-- DNS_TYPEPAIR_VALUE(RRSIG, T)
-+ DNS_SIGTYPEPAIR(T)
+-DNS_TYPEPAIR_VALUE(dns_rdatatype_rrsig,
++DNS_SIGTYPE(
+             e)
index 6a50195b893bf9c4e7983ce14004306db1fe69ce..78b6c0c01a287c7d40fdd71d7f5aeb1def4c20f9 100644 (file)
@@ -1,8 +1,9 @@
-@@
+@replacement@
 expression E;
 int R;
 @@
-
-  R = E(...);
-- UV_RUNTIME_CHECK(...);
-+ UV_RUNTIME_CHECK(E, R);
+ R = E(...);
+ UV_RUNTIME_CHECK(
+-                 ...
++                 E, R
+                 );
index 2b392cb31019556783b4a3573000895d2a2fd197..43e2d1bddc301b83dedf2d5305c4ba6e700310db 100644 (file)
-@@
-char T;
-@@
-
-- isalnum(T)
-+ isalnum((unsigned char)T)
-
-@@
-char T;
-@@
-
-- isalpha(T)
-+ isalpha((unsigned char)T)
-
-@@
-char T;
-@@
-
-- iscntrl(T)
-+ iscntrl((unsigned char)T)
-
-@@
-char T;
-@@
-
-- isdigit(T)
-+ isdigit((unsigned char)T)
-
-@@
-char T;
-@@
-
-- isgraph(T)
-+ isgraph((unsigned char)T)
-
-@@
-char T;
-@@
-
-- islower(T)
-+ islower((unsigned char)T)
-
-@@
-char T;
-@@
-
-- isprint(T)
-+ isprint((unsigned char)T)
-
-@@
-char T;
-@@
-
-- ispunct(T)
-+ ispunct((unsigned char)T)
-
-@@
-char T;
-@@
-
-- isspace(T)
-+ isspace((unsigned char)T)
-
-@@
-char T;
-@@
-
-- isupper(T)
-+ isupper((unsigned char)T)
-
-@@
-char T;
-@@
-
-- isxdigit(T)
-+ isxdigit((unsigned char)T)
-
-@@
-char T;
-@@
-
-- isascii(T)
-+ isascii((unsigned char)T)
-
-@@
-char T;
-@@
-
-- isblank(T)
-+ isblank((unsigned char)T)
-
-@@
-char T;
-@@
-
-- tolower(T)
-+ tolower((unsigned char)T)
-
-@@
-char T;
-@@
-
-- toupper(T)
-+ toupper((unsigned char)T)
-
+@add_cast@
+char T;
+@@
+(isalnum
+|isalpha
+|iscntrl
+|isdigit
+|isgraph
+|islower
+|isprint
+|ispunct
+|isspace
+|isupper
+|isxdigit
+|isascii
+|isblank
+|tolower
+|toupper
+)
+ (
++(unsigned char)
+ T
+ )
index 4043525413877b45507dcf60518029274e23dd40..ba60786c39f922c7e4ef032327efc94a1044bf2c 100644 (file)
@@ -1,6 +1,6 @@
+@renaming@
+expression e;
 @@
-expression M;
-@@
-
-- dns_message_destroy(M);
-+ dns_message_detach(M);
+-dns_message_destroy
++dns_message_detach
+                   (e);
index ed5a711ec97e872dcbad36bcb9a23303eb2f46aa..feebefeb14f35f526e4bdbf08e0528a3b6047173 100644 (file)
-@@
-statement S;
-expression V;
-@@
-
-- V =
-  dns_message_gettempname(...);
-- if (V != ISC_R_SUCCESS) S
-
-@@
-statement S;
-expression V;
-@@
-
-- V =
-  dns_message_gettemprdata(...);
-- if (V != ISC_R_SUCCESS) S
-
-@@
+@deletion@
 statement S;
 expression V;
 @@
-
-- V =
-  dns_message_gettemprdataset(...);
-- if (V != ISC_R_SUCCESS) S
-
-@@
-statement S;
-expression V;
-@@
-
-- V =
-  dns_message_gettemprdatalist(...);
-- if (V != ISC_R_SUCCESS) S
-
-@@
-@@
-
-- CHECK(
-  dns_message_gettempname(...)
-- )
-
-@@
-@@
-
-- CHECK(
-  dns_message_gettemprdata(...)
-- )
-
-@@
-@@
-
-- CHECK(
-  dns_message_gettemprdataset(...)
-- )
-
-@@
-@@
-
-- CHECK(
-  dns_message_gettemprdatalist(...)
-- )
-
-@@
-@@
-
-- RETERR(
-  dns_message_gettempname(...)
-- )
-
-@@
-@@
-
-- RETERR(
-  dns_message_gettemprdata(...)
-- )
-
-@@
-@@
-
-- RETERR(
-  dns_message_gettemprdataset(...)
-- )
-
-@@
-@@
-
-- RETERR(
-  dns_message_gettemprdatalist(...)
-- )
-
-@@
-expression V;
-@@
-
-- V =
-  dns_message_gettempname(...);
-- check_result(V, ...);
-
-@@
-expression V;
-@@
-
-- V =
-  dns_message_gettemprdata(...);
-- check_result(V, ...);
-
-@@
-expression V;
-@@
-
-- V =
-  dns_message_gettemprdataset(...);
-- check_result(V, ...);
-
-@@
-expression V;
-@@
-
-- V =
-  dns_message_gettemprdatalist(...);
-- check_result(V, ...);
-
-@@
-expression V;
-@@
-
-- V =
-  dns_message_gettempname(...);
-- CHECK(..., V);
-
-@@
-expression V;
-@@
-
-- V =
-  dns_message_gettemprdata(...);
-- CHECK(..., V);
-
-@@
-expression V;
-@@
-
-- V =
-  dns_message_gettemprdataset(...);
-- CHECK(..., V);
-
-@@
-expression V;
-@@
-
-- V =
-  dns_message_gettemprdatalist(...);
-- CHECK(..., V);
+(
+-V =
+(    dns_message_gettempname
+|    dns_message_gettemprdata
+|    dns_message_gettemprdataset
+|    dns_message_gettemprdatalist
+)
+     (...);
+(
+-if (V != ISC_R_SUCCESS) S
+|
+(
+-check_result(V, ...)
+|
+-CHECK(..., V)
+);
+)
+|
+(
+-CHECK
+|
+-RETERR
+)
+-(
+( dns_message_gettempname
+| dns_message_gettemprdata
+| dns_message_gettemprdataset
+| dns_message_gettemprdatalist
+)
+-)
+)
index 1c02a8335d7b9c4e05ed63ec5643ede0ab2240ab..7dea361a99761cd4a102ce49ad4c4b353086ccc4 100644 (file)
@@ -1,7 +1,7 @@
+@deletion@
+expression C, M;
 @@
-expression C;
-expression M;
-@@
+ dns_rbtnodechain_init(C
+-                      , M
+                      );
 
-- dns_rbtnodechain_init(C, M);
-+ dns_rbtnodechain_init(C);
index bc02f1429e824cbb4b76d01b4c6067bf6602eb33..2c9fd621a8aa59f139c00ec34fccefc346bcbe86 100644 (file)
@@ -1,75 +1,38 @@
-@@
-statement S;
-expression V;
-@@
-
-- V =
-  isc_buffer_allocate(...);
-- if (V != ISC_R_SUCCESS) S
-
-@@
+@deletion1@
 statement S1, S2;
 expression V;
 @@
-
-- V =
-  isc_buffer_allocate(...);
-- if (V == ISC_R_SUCCESS)
-  S1
-- else S2
-
-@@
-expression V;
-@@
-
-- V =
-  isc_buffer_allocate(...);
-- check_result(V, ...);
-
-@@
-@@
-
-- CHECK(
-  isc_buffer_allocate(...)
-- )
-  ;
-
-@@
-@@
-
-- DO(...,
-  isc_buffer_allocate(...)
-- )
-  ;
-
-@@
-@@
-
-- RETERR(
-  isc_buffer_allocate(...)
-- )
-  ;
-
-@@
-expression V;
-@@
-
-- V =
-  isc_buffer_allocate(...);
-- assert_int_equal(V, ISC_R_SUCCESS);
-
-@@
-expression V;
-@@
-
-- V =
-  isc_buffer_allocate(...);
-- CHECK(..., V);
-
-@@
-expression V;
-@@
-
-- V =
-  isc_buffer_allocate(...);
-- RUNTIME_CHECK(V == ISC_R_SUCCESS);
+-V =
+     isc_buffer_allocate(...);
+(
+-if (V != ISC_R_SUCCESS) S1
+|
+-if (V == ISC_R_SUCCESS)
+    S1
+-else S2
+|
+-check_result(V, ...);
+|
+-assert_int_equal(V, ISC_R_SUCCESS);
+|
+-CHECK(..., V);
+|
+-RUNTIME_CHECK(V == ISC_R_SUCCESS);
+)
+
+@deletion2@
+@@
+(
+(
+-CHECK
+|
+-RETERR
+)
+-(
+ isc_buffer_allocate(...)
+-)
+|
+-DO(...,
+ isc_buffer_allocate(...)
+-)
+);
index c7e6069061423390d65080548699e3d6698e2140..420860007d022fba2d99b56d2f3ac831ba991689 100644 (file)
@@ -1,41 +1,19 @@
-@@
-statement S;
-expression V;
-@@
-
-V = isc_mem_allocate(...);
-- if (V == NULL) S
-
-@@
+@deletion@
 type T;
-statement S;
-expression V;
-@@
-
-V = (T *)isc_mem_allocate(...);
-- if (V == NULL) S
-
-@@
-statement S;
-expression V;
-@@
-
-if (V == NULL) V = isc_mem_allocate(...);
-- if (V == NULL) S
-
-@@
 statement S1, S2;
-expression V;
-@@
-
-V = isc_mem_allocate(...);
-- if (V == NULL) S1 else { S2 }
-+ S2
-
-@@
-type T;
 expression V, E1, E2;
 @@
-
-- V = (T)isc_mem_allocate(E1, E2);
-+ V = isc_mem_allocate(E1, E2);
+(V =
+(isc_mem_allocate
+|(T *)isc_mem_allocate
+)(...);
+-if (V == NULL) S1
+|V = isc_mem_allocate(...);
+-if (V == NULL) S1 else { S2 }
++S2
+|if (V == NULL) V = isc_mem_allocate(...);
+-if (V == NULL) S1
+|V =
+-    (T)
+     isc_mem_allocate(E1, E2);
+)
index af2fb5b224ac4ea93c99da8544799240594143eb..fecec61094330ea533b17a73be8699d784b38015 100644 (file)
-@@
-expression MCTX, COUNT;
-type ELEM;
-@@
-
-- isc_mem_get(MCTX, COUNT * sizeof(ELEM))
-+ isc_mem_cget(MCTX, COUNT, sizeof(ELEM))
-
-@@
+@replacement1@
 expression MCTX, COUNT, ELEM;
-@@
-
-- isc_mem_get(MCTX, COUNT * sizeof(ELEM))
-+ isc_mem_cget(MCTX, COUNT, sizeof(ELEM))
-
-@@
-expression MCTX, OLD_PTR, COUNT;
-type ELEM;
-@@
-
-- isc_mem_put(MCTX, OLD_PTR, COUNT * sizeof(ELEM))
-+ isc_mem_cput(MCTX, OLD_PTR, COUNT, sizeof(ELEM))
-
-@@
+type T;
+@@
+-isc_mem_get
++isc_mem_cget
+ (MCTX,
+(
+- COUNT * sizeof(ELEM)
++ COUNT, sizeof(ELEM)
+|
+- COUNT * sizeof(T)
++ COUNT, sizeof(T)
+)
+ )
+
+@replacement2@
 expression MCTX, OLD_PTR, COUNT, ELEM;
-@@
-
-- isc_mem_put(MCTX, OLD_PTR, COUNT * sizeof(ELEM))
-+ isc_mem_cput(MCTX, OLD_PTR, COUNT, sizeof(ELEM))
-
-@@
-expression MCTX, COUNT;
-type ELEM;
-@@
-
-- isc_mem_get(MCTX, sizeof(ELEM) * COUNT)
-+ isc_mem_cget(MCTX, COUNT, sizeof(ELEM))
-
-@@
-expression MCTX, COUNT, ELEM;
-@@
-
-- isc_mem_get(MCTX, sizeof(ELEM) * COUNT)
-+ isc_mem_cget(MCTX, COUNT, sizeof(ELEM))
-
-@@
-expression MCTX, OLD_PTR, COUNT;
-type ELEM;
-@@
-
-- isc_mem_put(MCTX, OLD_PTR, sizeof(ELEM) * COUNT)
-+ isc_mem_cput(MCTX, OLD_PTR, COUNT, sizeof(ELEM))
-
-@@
-expression MCTX, OLD_PTR, COUNT, ELEM;
-@@
-
-- isc_mem_put(MCTX, OLD_PTR, sizeof(ELEM) * COUNT)
-+ isc_mem_cput(MCTX, OLD_PTR, COUNT, sizeof(ELEM))
-
-@@
-expression MCTX, OLD_PTR, NEW_PTR, OLD_COUNT, NEW_COUNT;
-identifier OLD_SIZE, NEW_SIZE;
-type ELEM;
-@@
-
-- size_t OLD_SIZE = OLD_COUNT * sizeof(ELEM);
-- size_t NEW_SIZE = NEW_COUNT * sizeof(ELEM);
-- NEW_PTR = isc_mem_reget(MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE);
-+ NEW_PTR = isc_mem_creget(MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT, sizeof(ELEM));
-
-@@
+type T;
+@@
+-isc_mem_put
++isc_mem_cput
+ (MCTX,
+  OLD_PTR,
+(
+- COUNT * sizeof(ELEM)
++ COUNT, sizeof(ELEM)
+|
+- COUNT * sizeof(T)
++ COUNT, sizeof(T)
+)
+ )
+
+@replacement3@
 expression MCTX, OLD_PTR, NEW_PTR, OLD_COUNT, NEW_COUNT, ELEM;
 identifier OLD_SIZE, NEW_SIZE;
-@@
-
-- size_t OLD_SIZE = OLD_COUNT * sizeof(ELEM);
-- size_t NEW_SIZE = NEW_COUNT * sizeof(ELEM);
-- NEW_PTR = isc_mem_reget(MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE);
-+ NEW_PTR = isc_mem_creget(MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT, sizeof(ELEM));
-
-@@
-expression MCTX, OLD_PTR, NEW_PTR, OLD_COUNT, NEW_COUNT;
-identifier OLD_SIZE, NEW_SIZE;
-type ELEM;
-@@
-
-- size_t NEW_SIZE = NEW_COUNT * sizeof(ELEM);
-- size_t OLD_SIZE = OLD_COUNT * sizeof(ELEM);
-- NEW_PTR = isc_mem_reget(MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE);
-+ NEW_PTR = isc_mem_creget(MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT, sizeof(ELEM));
-
-@@
-expression MCTX, OLD_PTR, NEW_PTR, OLD_COUNT, NEW_COUNT, ELEM;
-identifier OLD_SIZE, NEW_SIZE;
-@@
-
-- size_t NEW_SIZE = NEW_COUNT * sizeof(ELEM);
-- size_t OLD_SIZE = OLD_COUNT * sizeof(ELEM);
-- NEW_PTR = isc_mem_reget(MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE);
-+ NEW_PTR = isc_mem_creget(MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT, sizeof(ELEM));
-
-@@
-expression MCTX, OLD_PTR, NEW_PTR, OLD_SIZE, OLD_COUNT, NEW_SIZE, NEW_COUNT;
-type ELEM;
-@@
-
-- OLD_SIZE = OLD_COUNT * sizeof(ELEM);
-- NEW_SIZE = NEW_COUNT * sizeof(ELEM);
-- NEW_PTR = isc_mem_reget(MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE);
-+ NEW_PTR = isc_mem_creget(MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT, sizeof(ELEM));
-
-@@
-expression MCTX, OLD_PTR, NEW_PTR, OLD_SIZE, OLD_COUNT, NEW_SIZE, NEW_COUNT, ELEM;
-@@
-
-- OLD_SIZE = OLD_COUNT * sizeof(ELEM);
-- NEW_SIZE = NEW_COUNT * sizeof(ELEM);
-- NEW_PTR = isc_mem_reget(MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE);
-+ NEW_PTR = isc_mem_creget(MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT, sizeof(ELEM));
-
-@@
-expression MCTX, OLD_PTR, NEW_PTR, OLD_SIZE, OLD_COUNT, NEW_SIZE, NEW_COUNT;
-type ELEM;
-@@
-
-- NEW_SIZE = NEW_COUNT * sizeof(ELEM);
-- OLD_SIZE = OLD_COUNT * sizeof(ELEM);
-- NEW_PTR = isc_mem_reget(MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE);
-+ NEW_PTR = isc_mem_reget(MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT, sizeof(ELEM));
-
-@@
+type T;
+@@
+(
+(
+-size_t OLD_SIZE = OLD_COUNT * sizeof(ELEM);
+-size_t NEW_SIZE = NEW_COUNT * sizeof(ELEM);
+|
+-size_t NEW_SIZE = NEW_COUNT * sizeof(ELEM);
+-size_t OLD_SIZE = OLD_COUNT * sizeof(ELEM);
+)
+ NEW_PTR =
+-          isc_mem_reget
++          isc_mem_creget
+           (MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE
++           , sizeof(ELEM)
+           );
+|
+(
+-size_t OLD_SIZE = OLD_COUNT * sizeof(T);
+-size_t NEW_SIZE = NEW_COUNT * sizeof(T);
+|
+-size_t NEW_SIZE = NEW_COUNT * sizeof(T);
+-size_t OLD_SIZE = OLD_COUNT * sizeof(T);
+)
+ NEW_PTR =
+-          isc_mem_reget
++          isc_mem_creget
+           (MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE
++           , sizeof(T)
+           );
+)
+
+@replacement4@
 expression MCTX, OLD_PTR, NEW_PTR, OLD_SIZE, OLD_COUNT, NEW_SIZE, NEW_COUNT, ELEM;
-@@
-
-- NEW_SIZE = NEW_COUNT * sizeof(ELEM);
-- OLD_SIZE = OLD_COUNT * sizeof(ELEM);
-- NEW_PTR = isc_mem_reget(MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE);
-+ NEW_PTR = isc_mem_creget(MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT, sizeof(ELEM));
-
-@@
-expression MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT;
-type ELEM;
-@@
-
-- isc_mem_reget(MCTX, OLD_PTR, OLD_COUNT * sizeof(ELEM), NEW_COUNT * sizeof(ELEM))
-+ isc_mem_creget(MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT, sizeof(ELEM))
-
-@@
+type T;
+@@
+(
+(
+-OLD_SIZE = OLD_COUNT * sizeof(ELEM);
+-NEW_SIZE = NEW_COUNT * sizeof(ELEM);
+|
+-NEW_SIZE = NEW_COUNT * sizeof(ELEM);
+-OLD_SIZE = OLD_COUNT * sizeof(ELEM);
+)
+ NEW_PTR =
+-          isc_mem_reget
++          isc_mem_creget
+           (MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE
++           , sizeof(ELEM)
+           );
+|
+(
+-OLD_SIZE = OLD_COUNT * sizeof(T);
+-NEW_SIZE = NEW_COUNT * sizeof(T);
+|
+-NEW_SIZE = NEW_COUNT * sizeof(T);
+-OLD_SIZE = OLD_COUNT * sizeof(T);
+)
+ NEW_PTR =
+-          isc_mem_reget
++          isc_mem_creget
+           (MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE
++           , sizeof(T)
+           );
+)
+
+@replacement5@
 expression MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT, ELEM;
-@@
-
-- isc_mem_reget(MCTX, OLD_PTR, OLD_COUNT * sizeof(ELEM), NEW_COUNT * sizeof(ELEM))
-+ isc_mem_creget(MCTX, OLD_PTR, OLD_COUNT, NEW_COUNT, sizeof(ELEM))
-
-@@
+type T;
+@@
+-isc_mem_reget
++isc_mem_creget
+ (MCTX,
+  OLD_PTR,
+(
+- OLD_COUNT * sizeof(ELEM)
++ OLD_COUNT
+  ,
+- NEW_COUNT * sizeof(ELEM)
++ NEW_COUNT, sizeof(ELEM)
+|
+- OLD_COUNT * sizeof(T)
++ OLD_COUNT
+  ,
+- NEW_COUNT * sizeof(T)
++ NEW_COUNT, sizeof(T)
+)
+ )
+
+@replacement6@
 expression MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE;
 @@
-
-- isc_mem_reget(MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE)
-+ isc_mem_creget(MCTX, OLD_PTR, OLD_SIZE, NEW_SIZE, sizeof(char))
+-isc_mem_reget
++isc_mem_creget
+ (MCTX,
+  OLD_PTR,
+  OLD_SIZE,
+  NEW_SIZE
++ , sizeof(char)
+ )
index e79a0404a160c6f52c9dab85015f166851c2ea54..bacf10f40b85c59f30de1fd4af29f26e451b91c2 100644 (file)
@@ -1,41 +1,19 @@
-@@
-statement S;
-expression V;
-@@
-
-V = isc_mem_get(...);
-- if (V == NULL) S
-
-@@
+@deletion@
 type T;
-statement S;
-expression V;
-@@
-
-V = (T *)isc_mem_get(...);
-- if (V == NULL) S
-
-@@
-statement S;
-expression V;
-@@
-
-if (V == NULL) V = isc_mem_get(...);
-- if (V == NULL) S
-
-@@
 statement S1, S2;
-expression V;
-@@
-
-V = isc_mem_get(...);
-- if (V == NULL) S1 else { S2 }
-+ S2
-
-@@
-type T;
 expression V, E1, E2;
 @@
-
-- V = (T)isc_mem_get(E1, E2);
-+ V = isc_mem_get(E1, E2);
+(V =
+(isc_mem_get
+|(T *)isc_mem_get
+)(...);
+-if (V == NULL) S1
+|V = isc_mem_get(...);
+-if (V == NULL) S1 else { S2 }
++S2
+|if (V == NULL) V = isc_mem_get(...);
+-if (V == NULL) S1
+|V =
+-    (T)
+     isc_mem_get(E1, E2);
+)
index 43fa8ccd44c2501d14a50d4f3e6f1210eec4e051..b31611549ead817fcfbd81e5d9b73c571e113d01 100644 (file)
@@ -1,80 +1,42 @@
-@@
-expression e1, e2;
-@@
-
-isc_mem_free(e1, e2);
-- e2 = NULL;
-
-@@
-expression e1, e2;
-@@
-
-if (e2 != NULL) {
-isc_mem_free(e1, e2);
-}
-- e2 = NULL;
-
-@@
+@deletion1@
 expression e1, e2;
 @@
-
-isc_mempool_put(e1, e2);
-- e2 = NULL;
-
-@@
-expression e1, e2;
-@@
-
-if (e2 != NULL) {
-isc_mempool_put(e1, e2);
-}
-- e2 = NULL;
-
-@@
-expression e1, e2, e3;
-@@
-
-isc_mem_put(e1, e2, e3);
-- e2 = NULL;
-
-@@
-expression e1, e2, e3;
-@@
-
-if (e2 != NULL) {
-isc_mem_put(e1, e2, e3);
-}
-- e2 = NULL;
-
-@@
-expression e1, e2, e3;
-@@
-
-isc_mem_putanddetach(e1, e2, e3);
-- e2 = NULL;
-
-@@
+(
+(isc_mem_free
+|isc_mempool_put
+)(e1, e2);
+|if (e2 != NULL)
+ {
+(   isc_mem_free
+|   isc_mempool_put
+)(e1, e2);
+ }
+)
+-e2 = NULL;
+
+@deletion2@
 expression e1, e2, e3;
 @@
-
-if (e2 != NULL) {
-isc_mem_putanddetach(e1, e2, e3);
-}
-- e2 = NULL;
-
-@@
+(
+(isc_mem_put
+|isc_mem_putanddetach
+)(e1, e2, e3);
+|if (e2 != NULL)
+ {
+(   isc_mem_put
+|   isc_mem_putanddetach
+)(e1, e2, e3);
+ }
+)
+-e2 = NULL;
+
+@deletion3@
 expression e1, e2, e3, e4;
 @@
-
-isc_mem_cput(e1, e2, e3, e4);
-- e2 = NULL;
-
-@@
-expression e1, e2, e3, e4;
-@@
-
-if (e2 != NULL) {
-isc_mem_cput(e1, e2, e3, e4);
-}
-- e2 = NULL;
-
+(isc_mem_cput(e1, e2, e3, e4);
+|if (e2 != NULL)
+ {
+    isc_mem_cput(e1, e2, e3, e4);
+ }
+)
+-e2 = NULL;
index 0f29779158b0233bbe4301a14ed9092d1fa1c312..9e21e2c82f9695d7828183e54062b47f1b26f794 100644 (file)
@@ -1,8 +1,10 @@
+@adjustment@
+expression M, E1, E2;
 @@
-expression M;
-expression E1, E2;
-@@
-
-- isc_mem_put(M, E1, E2);
-- isc_mem_detach(&M);
-+ isc_mem_putanddetach(&M, E1, E2);
+-isc_mem_put
++isc_mem_putanddetach
+ (
++ &
+  M, E1, E2
+ );
+-isc_mem_detach(&M);
index 41cccdb8b576ae17c7260356d1c2c1235d84f82a..627dc2347edf129af325a64c3104ffab0d95edbf 100644 (file)
@@ -1,33 +1,16 @@
-@@
-statement S;
-expression V;
-@@
-
-V = isc_mem_strdup(...);
-- if (V == NULL) S
-
-@@
+@deletion@
 type T;
-statement S;
-expression V;
-@@
-
-V = (T *)isc_mem_strdup(...);
-- if (V == NULL) S
-
-@@
-statement S;
-expression V;
-@@
-
-if (V == NULL) V = isc_mem_strdup(...);
-- if (V == NULL) S
-
-@@
 statement S1, S2;
 expression V;
 @@
-
-V = isc_mem_strdup(...);
-- if (V == NULL) S1 else { S2 }
-+ S2
+(V =
+(isc_mem_strdup
+|(T *)isc_mem_strdup
+)(...);
+-if (V == NULL) S1
+|if (V == NULL) V = isc_mem_strdup(...);
+-if (V == NULL) S1
+|V = isc_mem_strdup(...);
+-if (V == NULL) S1 else { S2 }
++S2
+)
index 232ff9b36934a6585de0637c528ad57f7999bef7..873679825e8fcf43f13f8c55184c3121c3582fe4 100644 (file)
@@ -1,41 +1,19 @@
-@@
-statement S;
-expression V;
-@@
-
-V = isc_mempool_get(...);
-- if (V == NULL) S
-
-@@
+@deletion@
 type T;
-statement S;
-expression V;
-@@
-
-V = (T *)isc_mempool_get(...);
-- if (V == NULL) S
-
-@@
-statement S;
-expression V;
-@@
-
-if (V == NULL) V = isc_mempool_get(...);
-- if (V == NULL) S
-
-@@
 statement S1, S2;
-expression V;
-@@
-
-V = isc_mempool_get(...);
-- if (V == NULL) S1 else { S2 }
-+ S2
-
-@@
-type T;
 expression V, E1, E2;
 @@
-
-- V = (T)isc_mempool_get(E1, E2);
-+ V = isc_mempool_get(E1, E2);
+(V =
+(isc_mempool_get
+|(T *)isc_mempool_get
+)(...);
+-if (V == NULL) S1
+|V = isc_mempool_get(...);
+-if (V == NULL) S1 else { S2 }
++S2
+|if (V == NULL) V = isc_mempool_get(...);
+-if (V == NULL) S1
+|V =
+-    (T)
+     isc_mempool_get(E1, E2);
+)
index f5e50e7142fdb41d828ccbb9723bd55586fccf82..9ada6f63e15c073db4dd03fd97578046748cc737 100644 (file)
@@ -1,14 +1,10 @@
 @has_string_h@
 @@
-
 #include <string.h>
 
 @depends on has_string_h@
-
-expression D;
-expression S;
-expression N;
+expression D, S, N;
 @@
-
-- memcpy(D, S, N);
-+ memmove(D, S, N);
+-memcpy
++memmove
+ (D, S, N);
index fcc639f6ea025373ab120299020833b3c94e5a77..a417c55ee7f358c92f630014b866c4cf6ac4519a 100644 (file)
@@ -1,19 +1,17 @@
-@ rule1 @
+@rule1@
 identifier f1;
 @@
+ void f1(...)
+ {
+ ...
+ }
 
-void f1(...)
-{
-...
-}
-
-@ rule2 @
-identifier rule1.f1;
-identifier f2;
+@rule2@
+identifier rule1.f1, f2;
 @@
-
-void f2(...) {
-...
-* return(f1(...));
-...
-}
+ void f2(...)
+ {
+ <+...
+*return(f1(...));
+ ...+>
+ }
index ce44d6725023bb73ccbc397d46e30f0d947a3c77..c7a6d2df2cbba13d13289b5f968aedb1f8a41154 100644 (file)
@@ -1,14 +1,15 @@
-@@
+@replacement@
 type T;
-identifier fun;
-identifier arg;
+identifier fun, arg;
 expression val;
 @@
-       fun(..., T *arg, ...) {
-               ...
--              if (arg != NULL) {
--                              *arg = val;
--              }
-+              SET_IF_NOT_NULL(arg, val);
-               ...
-       }
+ fun(..., T *arg, ...)
+ {
+ <+...
+-   if (arg != NULL)
+-   {
+-      *arg = val;
+-   }
++   SET_IF_NOT_NULL(arg, val);
+ ...+>
+ }
index 84c0c344bb5f9af56f75fd8c6790a505d1a8fb20..f6db44c56104c75549fa95f48572510931f9892d 100644 (file)
@@ -1,19 +1,19 @@
+@replacement@
 @@
-@@
-
--   INSIST(0);
-+   UNREACHABLE();
-    ... when != UNREACHABLE();
-
-@@
-@@
-
--   INSIST(0);
--   ISC_UNREACHABLE();
-+   UNREACHABLE();
+(
+-INSIST(0);
++UNREACHABLE();
+ ... when != UNREACHABLE();
+|
+-INSIST(0);
+-ISC_UNREACHABLE
++UNREACHABLE
+ ();
+)
 
+@deletion@
 @@
-@@
-
-- UNREACHABLE();
 UNREACHABLE();
+ <+...
+-UNREACHABLE();
+ ...+>
+ UNREACHABLE();