summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRider Linden <rider@lindenlab.com>2016-04-12 13:56:49 -0700
committerRider Linden <rider@lindenlab.com>2016-04-12 13:56:49 -0700
commit94d1a54e33845e1488ed52961416526ed232ddb1 (patch)
treeddce084774e9bd6f2d6e88687c695e918290ca50
parent0ca3c5c7fdd6790d98259fc6d8459633896ce7a0 (diff)
Shift of negative is undefined.
-rwxr-xr-xindra/llkdu/llimagej2ckdu.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/indra/llkdu/llimagej2ckdu.cpp b/indra/llkdu/llimagej2ckdu.cpp
index 6a8959517d..282c859e9e 100755
--- a/indra/llkdu/llimagej2ckdu.cpp
+++ b/indra/llkdu/llimagej2ckdu.cpp
@@ -1034,7 +1034,7 @@ all necessary level shifting, type conversion, rounding and truncation. */
val = (kdu_int32)(sp->fval*scale16);
val = (val+128)>>8; // May be faster than true rounding
val += 128;
- if (val & ((-1)<<8))
+ if (val & ((0xffffffffU)<<8))
{
val = (val < 0 ? 0 : 255);
}
@@ -1052,7 +1052,7 @@ all necessary level shifting, type conversion, rounding and truncation. */
val = sp->ival;
val = (val+offset)>>downshift;
val += 128;
- if (val & ((-1)<<8))
+ if (val & ((0xffffffffU)<<8))
{
val = (val < 0 ? 0 : 255);
}
@@ -1075,7 +1075,7 @@ all necessary level shifting, type conversion, rounding and truncation. */
val += (1<<(KDU_FIX_POINT-8))>>1;
val >>= (KDU_FIX_POINT-8);
val += 128;
- if (val & ((-1)<<8))
+ if (val & ((0xffffffffU)<<8))
{
val = (val < 0 ? 0 : 255);
}
@@ -1094,7 +1094,7 @@ all necessary level shifting, type conversion, rounding and truncation. */
val = (val+offset)>>downshift;
val <<= upshift;
val += 128;
- if (val & ((-1)<<8))
+ if (val & ((0xffffffffU)<<8))
{
val = (val < 0 ? 0 : 256 - (1<<upshift));
}
@@ -1116,7 +1116,7 @@ all necessary level shifting, type conversion, rounding and truncation. */
val = sp->ival;
val = (val+offset)>>downshift;
val += 128;
- if (val & ((-1)<<8))
+ if (val & ((0xffffffffU)<<8))
{
val = (val < 0 ? 0 : 255);
}
@@ -1132,7 +1132,7 @@ all necessary level shifting, type conversion, rounding and truncation. */
val = sp->ival;
val <<= upshift;
val += 128;
- if (val & ((-1)<<8))
+ if (val & ((0xffffffffU)<<8))
{
val = (val < 0 ? 0 : 256 - (1<<upshift));
}