summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/cmd/mpc.y8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/src/cmd/mpc.y b/sys/src/cmd/mpc.y
index ac7979399..b63fb383d 100644
--- a/sys/src/cmd/mpc.y
+++ b/sys/src/cmd/mpc.y
@@ -579,7 +579,9 @@ ecom(Node *f, Node *t)
return nil;
if(f->c == NUM){
- m = strtomp(f->s->n, nil, 10, nil);
+ m = strtomp(f->s->n, nil, 0, nil);
+ if(m == nil)
+ diag(f, "bad constant");
if(mpcmp(m, mpzero) == 0){
f->c = NAME;
f->s = sym("mpzero");
@@ -643,7 +645,9 @@ ecom(Node *f, Node *t)
switch(f->c){
case NUM:
- m = strtomp(f->s->n, nil, 10, nil);
+ m = strtomp(f->s->n, nil, 0, nil);
+ if(m == nil)
+ diag(f, "bad constant");
if(mpsignif(m) <= 32)
cprint("uitomp(%udUL, %N);\n", mptoui(m), t);
else if(mpsignif(m) <= 64)