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