From f7477528e1c1eaa2a06ca71c1496bb5f30fcd8bb Mon Sep 17 00:00:00 2001 From: thilo Date: Wed, 26 Mar 2008 03:13:30 +0000 Subject: Make cast-workaround to unsigned int use sizeof operator. git-svn-id: svn://svn.icculus.org/quake3/trunk@1281 edf5b092-35ff-0310-97b2-ce42778d08ea --- code/game/bg_lib.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'code/game') diff --git a/code/game/bg_lib.c b/code/game/bg_lib.c index 2027d6f..a2f5ddb 100644 --- a/code/game/bg_lib.c +++ b/code/game/bg_lib.c @@ -1286,7 +1286,7 @@ static int dopr (char *buffer, size_t maxlen, const char *format, va_list args) flags |= DP_F_UNSIGNED; if (cflags == DP_C_SHORT) // value = (unsigned short int) va_arg (args, unsigned short int); // Thilo: This does not work because the rcc compiler cannot do that cast correctly. - value = va_arg (args, unsigned int) & 0xFFFF; // Using this workaround instead. + value = va_arg (args, unsigned int) & ( (1 << sizeof(unsigned short int) * 8) - 1); // Using this workaround instead. else if (cflags == DP_C_LONG) value = va_arg (args, unsigned long int); else if (cflags == DP_C_LLONG) @@ -1298,7 +1298,7 @@ static int dopr (char *buffer, size_t maxlen, const char *format, va_list args) case 'u': flags |= DP_F_UNSIGNED; if (cflags == DP_C_SHORT) - value = va_arg (args, unsigned int) & 0xFFFF; + value = va_arg (args, unsigned int) & ( (1 << sizeof(unsigned short int) * 8) - 1); else if (cflags == DP_C_LONG) value = va_arg (args, unsigned long int); else if (cflags == DP_C_LLONG) @@ -1312,7 +1312,7 @@ static int dopr (char *buffer, size_t maxlen, const char *format, va_list args) case 'x': flags |= DP_F_UNSIGNED; if (cflags == DP_C_SHORT) - value = va_arg (args, unsigned int) & 0xFFFF; + value = va_arg (args, unsigned int) & ( (1 << sizeof(unsigned short int) * 8) - 1); else if (cflags == DP_C_LONG) value = va_arg (args, unsigned long int); else if (cflags == DP_C_LLONG) -- cgit v1.2.3