tfix shift - plan9port - [fork] Plan 9 from user space
HTML git clone git://src.adamsgaard.dk/plan9port
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
DIR commit 9e36143a34451aba972b157a53160f1badff9ceb
DIR parent af79ebc2b6faf92268193a43bd087dbf75840b41
HTML Author: rsc <devnull@localhost>
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(-)
---
DIR 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;
DIR 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;