For 64bit variables we should use 64bit types.

This commit is contained in:
MelwareDE 2007-08-23 12:48:36 +00:00
parent f24901822a
commit 620550e1e8
1 changed files with 10 additions and 9 deletions

View File

@ -416,6 +416,7 @@ MESSAGE_EXCHANGE_ERROR capi_sendf(
MESSAGE_EXCHANGE_ERROR ret; MESSAGE_EXCHANGE_ERROR ret;
int i, j; int i, j;
unsigned int d; unsigned int d;
uint64_t ll;
unsigned char *p, *p_length; unsigned char *p, *p_length;
unsigned char *string; unsigned char *string;
va_list ap; va_list ap;
@ -456,15 +457,15 @@ MESSAGE_EXCHANGE_ERROR capi_sendf(
*(p++) = (unsigned char)(d >> 24); *(p++) = (unsigned char)(d >> 24);
break; break;
case 'q': /* quad word (8 bytes) */ case 'q': /* quad word (8 bytes) */
d = va_arg(ap, unsigned int); ll = va_arg(ap, uint64_t);
*(p++) = (unsigned char) d; *(p++) = (unsigned char) ll;
*(p++) = (unsigned char)(d >> 8); *(p++) = (unsigned char)(ll >> 8);
*(p++) = (unsigned char)(d >> 16); *(p++) = (unsigned char)(ll >> 16);
*(p++) = (unsigned char)(d >> 24); *(p++) = (unsigned char)(ll >> 24);
*(p++) = (unsigned char)(d >> 32); *(p++) = (unsigned char)(ll >> 32);
*(p++) = (unsigned char)(d >> 40); *(p++) = (unsigned char)(ll >> 40);
*(p++) = (unsigned char)(d >> 48); *(p++) = (unsigned char)(ll >> 48);
*(p++) = (unsigned char)(d >> 56); *(p++) = (unsigned char)(ll >> 56);
break; break;
case 's': /* struct, length is the first byte */ case 's': /* struct, length is the first byte */
string = va_arg(ap, unsigned char *); string = va_arg(ap, unsigned char *);