On Fri, 15 Sep 2023 16:43:36 +1000
David Gibson <david(a)gibson.dropbear.id.au> wrote:
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 <string.h> is included, but that is
so common that as a rule it's best to just avoid it always. We have a few
places in packet.[ch] which hit this trap so rename the variables to avoid
it.
Signed-off-by: David Gibson <david(a)gibson.dropbear.id.au>
---
packet.c | 28 ++++++++++++++--------------
packet.h | 10 +++++-----
2 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/packet.c b/packet.c
index ce807e2..8e3a87c 100644
--- a/packet.c
+++ b/packet.c
@@ -33,11 +33,11 @@
void packet_add_do(struct pool *p, size_t len, const char *start,
const char *func, int line)
{
- size_t index = p->count;
+ size_t idx = p->count;
- if (index >= p->size) {
+ if (idx >= p->size) {
trace("add packet index %lu to pool with size %lu, %s:%i",
- index, p->size, func, line);
+ idx, p->size, func, line);
return;
}
@@ -66,8 +66,8 @@ void packet_add_do(struct pool *p, size_t len, const char *start,
}
#endif
- p->pkt[index].offset = start - p->buf;
- p->pkt[index].len = len;
+ p->pkt[idx].offset = start - p->buf;
+ p->pkt[idx].len = len;
p->count++;
}
@@ -84,13 +84,13 @@ void packet_add_do(struct pool *p, size_t len, const char *start,
*
* Return: pointer to start of data range, NULL on invalid range or descriptor
*/
-void *packet_get_do(const struct pool *p, size_t index, size_t offset,
+void *packet_get_do(const struct pool *p, size_t idx, size_t offset,
Really minor, but... the comment about @index should be updated as well.
Oops, yes. Fixed.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!