Ticket #7160: libs_libmythtv-sign-extension

File libs_libmythtv-sign-extension, 1.2 KB (added by Erik Hovland <erik@…>, 17 years ago)

Use explicit casting to avoid implicit sign extensions

Line 
1Use explicit casting to avoid sign extension.
2
3From: Erik Hovland <erik@hovland.org>
4
5
6---
7
8 mythtv/libs/libmythtv/mpeg/dvbdescriptors.h | 6 ++++--
9 1 files changed, 4 insertions(+), 2 deletions(-)
10
11
12diff --git a/mythtv/libs/libmythtv/mpeg/dvbdescriptors.h b/mythtv/libs/libmythtv/mpeg/dvbdescriptors.h
13index a354853..396b74d 100644
14--- a/mythtv/libs/libmythtv/mpeg/dvbdescriptors.h
15+++ b/mythtv/libs/libmythtv/mpeg/dvbdescriptors.h
16@@ -1071,8 +1071,10 @@ class FrequencyListDescriptor : public MPEGDescriptor
17 unsigned long long Frequency(uint i) const
18 {
19 if (kCodingTypeTerrestrial == CodingType())
20- return ((_data[3 + (i<<2)]<<24) | (_data[4 + (i<<2)]<<16) |
21- (_data[5 + (i<<2)]<<8) | (_data[6 + (i<<2)]));
22+ return ((static_cast<unsigned long long>(_data[3 + (i << 2)]) << 24) |
23+ (static_cast<unsigned long long>(_data[4 + (i << 2)]) << 16) |
24+ (static_cast<unsigned long long>(_data[5 + (i << 2)]) << 8) |
25+ (static_cast<unsigned long long>(_data[6 + (i << 2)])));
26 else
27 return byte4BCD2int(_data[3 + (i<<2)], _data[4 + (i<<2)],
28 _data[5 + (i<<2)], _data[6 + (i<<2)]);