From: Ondrej Zajicek (work) Date: Wed, 17 Jul 2019 23:57:26 +0000 (+0200) Subject: Lib: Fix print of 64-bit router id X-Git-Tag: v2.0.5~15 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=39edf4abcafda429f33f98c31ae11bf6a27ab18e;p=thirdparty%2Fbird.git Lib: Fix print of 64-bit router id Mismatched types to printf(). The old code coincidentally worked on amd64 due to its calling conventions. Thanks to Maximilian Eschenbacher for the bugreport. --- diff --git a/lib/printf.c b/lib/printf.c index c2065d9a9..8f2cccb30 100644 --- a/lib/printf.c +++ b/lib/printf.c @@ -356,14 +356,14 @@ int bvsnprintf(char *buf, int size, const char *fmt, va_list args) if (qualifier == 'l') { X = va_arg(args, u64); bsprintf(ipbuf, "%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x", - ((X >> 56) & 0xff), - ((X >> 48) & 0xff), - ((X >> 40) & 0xff), - ((X >> 32) & 0xff), - ((X >> 24) & 0xff), - ((X >> 16) & 0xff), - ((X >> 8) & 0xff), - (X & 0xff)); + (uint) ((X >> 56) & 0xff), + (uint) ((X >> 48) & 0xff), + (uint) ((X >> 40) & 0xff), + (uint) ((X >> 32) & 0xff), + (uint) ((X >> 24) & 0xff), + (uint) ((X >> 16) & 0xff), + (uint) ((X >> 8) & 0xff), + (uint) (X & 0xff)); } else {