From 6689609090aa7f9ce7b7e84b4f9625db77467ae2 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Mon, 26 Nov 2018 19:35:30 +0100 Subject: [PATCH] BUILD: htx: fix fprintf format inconsistency on 32-bit platforms Building on 32 bits gives this : include/proto/htx.h: In function 'htx_dump': include/proto/htx.h:443:25: warning: format '%lu' expects argument of type 'long unsigned int', but argument 8 has type 'uint64_t {aka long long unsigned int}' [-Wformat=] fprintf(stderr, "htx:%p [ size=%u - data=%u - used=%u - wrap=%s - extra=%lu]\n", ^ In htx_dump(), fprintf() uses %lu but the value is an uint64_t so it doesn't match on 32-bit. Let's cast this to unsigned long long and use %llu instead. --- include/proto/htx.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/proto/htx.h b/include/proto/htx.h index 91a2086a3..dd525fed3 100644 --- a/include/proto/htx.h +++ b/include/proto/htx.h @@ -443,7 +443,7 @@ static inline void htx_dump(struct htx *htx) fprintf(stderr, "htx:%p [ size=%u - data=%u - used=%u - wrap=%s - extra=%lu]\n", htx, htx->size, htx->data, htx->used, (!htx->used || htx->tail+1 == htx->wrap) ? "NO" : "YES", - htx->extra); + (unsigned long)htx->extra); fprintf(stderr, "\thead=%d - tail=%u - front=%u - wrap=%u\n", htx_get_head(htx), htx->tail, htx->front, htx->wrap);