haproxy/dev/coccinelle/ist.cocci
Tim Duesterhus 99f47377c8 DEV: coccinelle: Fix incorrect replacement in ist.cocci
We must not use `ist2()` if the value of `i.len` is derived from the value of
`i.ptr`:

    i.ptr = "foo";
    i.len = strlen(i.ptr);
2022-03-21 08:30:47 +01:00

86 lines
827 B
Plaintext

@@
struct ist i;
expression p, l;
@@
(
i.ptr = p;
i.len = strlen(i.ptr);
|
- i.ptr = p;
- i.len = l;
+ i = ist2(p, l);
)
@@
@@
- ist2(NULL, 0)
+ IST_NULL
@@
struct ist i;
expression e;
@@
- i.ptr += e;
- i.len -= e;
+ i = istadv(i, e);
@@
struct ist i;
@@
- i = istadv(i, 1);
+ i = istnext(i);
@@
struct ist i;
@@
- i.ptr++;
- i.len--;
+ i = istnext(i);
@@
struct ist i;
@@
- (\(i.ptr\|istptr(i)\) + \(i.len\|istlen(i)\))
+ istend(i)
@@
struct ist i;
expression e;
@@
- if (\(i.len\|istlen(i)\) > e) { i.len = e; }
+ i = isttrim(i, e);
@@
struct ist i;
struct buffer *b;
@@
- chunk_memcat(b, \(i.ptr\|istptr(i)\) , \(i.len\|istlen(i)\));
+ chunk_istcat(b, i);
@@
struct ist i;
@@
- i.ptr != NULL
+ isttest(i)
@@
char *s;
@@
(
- ist2(s, strlen(s))
+ ist(s)
|
- ist2(strdup(s), strlen(s))
+ ist(strdup(s))
)