tfix shift - plan9port - [fork] Plan 9 from user space | |
git clone git://src.adamsgaard.dk/plan9port | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 9e36143a34451aba972b157a53160f1badff9ceb | |
parent af79ebc2b6faf92268193a43bd087dbf75840b41 | |
Author: rsc | |
Date: Fri, 30 Dec 2005 17:06:50 +0000 fix shift Diffstat: M src/libmp/port/mptouv.c | 5 ++++- M src/libmp/port/mptov.c | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) --- | |
diff --git a/src/libmp/port/mptouv.c b/src/libmp/port/mptouv.c | |
t@@ -22,7 +22,10 @@ uvtomp(uvlong v, mpint *b) return b; for(s = 0; s < VLDIGITS && v != 0; s++){ b->p[s] = v; - v >>= sizeof(mpdigit)*8; + if(sizeof(mpdigit) == sizeof(uvlong)) + v = 0; + else + v >>= sizeof(mpdigit)*8; } b->top = s; return b; | |
diff --git a/src/libmp/port/mptov.c b/src/libmp/port/mptov.c | |
t@@ -28,7 +28,10 @@ vtomp(vlong v, mpint *b) uv = v; for(s = 0; s < VLDIGITS && uv != 0; s++){ b->p[s] = uv; - uv >>= sizeof(mpdigit)*8; + if(sizeof(mpdigit) == sizeof(uvlong)) + uv = 0; + else + uv >>= sizeof(mpdigit)*8; } b->top = s; return b; |