diff options
author | Toomas Soome <tsoome@me.com> | 2020-04-12 23:02:10 +0300 |
---|---|---|
committer | Toomas Soome <tsoome@me.com> | 2020-09-08 08:41:10 +0300 |
commit | 7aaede4825001926ae223b8c47ef9e4d0d6021ba (patch) | |
tree | fae88b23c1c6e5f9294a9361bf8c476d6b9a1117 | |
parent | 712669c9fa9278704a4ccefe1d96acaf29397d36 (diff) | |
download | illumos-joyent-7aaede4825001926ae223b8c47ef9e4d0d6021ba.tar.gz |
12974 libc: left shift of negative value
Reviewed by: Igor Kozhukhov <igor@dilos.org>
Reviewed by: Gary Mills <gary_mills@fastmail.fm>
Approved by: Dan McDonald <danmcd@joyent.com>
-rw-r--r-- | usr/src/lib/libc/port/gen/_ftoll.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/usr/src/lib/libc/port/gen/_ftoll.c b/usr/src/lib/libc/port/gen/_ftoll.c index 857a52b8a1..66d71f566c 100644 --- a/usr/src/lib/libc/port/gen/_ftoll.c +++ b/usr/src/lib/libc/port/gen/_ftoll.c @@ -24,8 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" - #include "lint.h" #include <sys/isa_defs.h> #include <floatingpoint.h> @@ -104,7 +102,7 @@ __dtoll(double dval) default: if (exp > 30) { m1 = (m0 << (exp - 30)) | - (m1 >> (62 - exp)) & ~(-1 << (exp - 30)); + (m1 >> (62 - exp)) & ~(UINT_MAX << (exp - 30)); m0 >>= 62 - exp; } else { m1 = m0 >> (30 - exp); @@ -275,7 +273,7 @@ _Q_qtoll(long double longdbl) default: if (exp > 30) { m1 = (m0 << (exp - 30)) | - (m1 >> (62 - exp)) & ~(-1 << (exp - 30)); + (m1 >> (62 - exp)) & ~(UINT_MAX << (exp - 30)); m0 >>= 62 - exp; } else { m1 = m0 >> (30 - exp); |