From 5b6c68c2e4995b94110b62e9e8346fb372451e31 Mon Sep 17 00:00:00 2001 From: David Gibson Date: Thu, 21 Sep 2023 14:49:38 +1000 Subject: Avoid shadowing index(3) A classic gotcha of the standard C library is that its unwise to call any variable 'index' because it will shadow the standard string library function index(3). This can cause warnings from cppcheck amongst others, and it also means that if the variable is removed you tend to get confusing type errors (or sometimes nothing at all) instead of a nice simple "name is not defined" error. Strictly speaking this only occurs if is included, but that is so common that as a rule it's best to just avoid it always. We have a number of places which hit this trap, so rename variables and parameters to avoid it. Signed-off-by: David Gibson Signed-off-by: Stefano Brivio --- util.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'util.h') diff --git a/util.h b/util.h index 195023f..41cf123 100644 --- a/util.h +++ b/util.h @@ -205,7 +205,7 @@ struct ipv6_opt_hdr { /* cppcheck-suppress funcArgNamesDifferent */ __attribute__ ((weak)) int ffsl(long int i) { return __builtin_ffsl(i); } -char *ipv6_l4hdr(const struct pool *p, int index, size_t offset, uint8_t *proto, +char *ipv6_l4hdr(const struct pool *p, int idx, size_t offset, uint8_t *proto, size_t *dlen); int sock_l4(const struct ctx *c, int af, uint8_t proto, const void *bind_addr, const char *ifname, uint16_t port, -- cgit v1.2.3