diff options
author | kaf24@localhost.localdomain <kaf24@localhost.localdomain> | 2007-01-21 17:10:58 +0000 |
---|---|---|
committer | kaf24@localhost.localdomain <kaf24@localhost.localdomain> | 2007-01-21 17:10:58 +0000 |
commit | 8b8c4769ed9406d2bd8753bc0d829c176c8dedde (patch) | |
tree | adffc025a64925deb2708092e3e44d694b73be8b /xen/common | |
parent | 08e6d143574f2e1fd1c7ad22a196bdb90beb17f4 (diff) | |
download | xen-8b8c4769ed9406d2bd8753bc0d829c176c8dedde.tar.gz xen-8b8c4769ed9406d2bd8753bc0d829c176c8dedde.tar.bz2 xen-8b8c4769ed9406d2bd8753bc0d829c176c8dedde.zip |
Fix byte-to-long bitmap conversions.
Signed-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'xen/common')
-rw-r--r-- | xen/common/bitmap.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/xen/common/bitmap.c b/xen/common/bitmap.c index 76f55d29e8..363572bedb 100644 --- a/xen/common/bitmap.c +++ b/xen/common/bitmap.c @@ -494,8 +494,7 @@ void bitmap_byte_to_long(unsigned long *lp, const uint8_t *bp, int nbits) for (i = 0, b = 0; nbits > 0; i++, b += sizeof(l)) { l = 0; for (j = 0; (j < sizeof(l)) && (nbits > 0); j++) { - l <<= 8; - l |= bp[b+j]; + l |= (unsigned long)bp[b+j] << (j*8); nbits -= 8; } lp[i] = l; |