From f5fcf6688b6a8fe502e94e531ec4e17f5b108e6e Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Mon, 4 Jan 2016 18:33:06 +0100 Subject: libmp: mistake in strtomp() --- sys/src/libmp/port/strtomp.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'sys/src') diff --git a/sys/src/libmp/port/strtomp.c b/sys/src/libmp/port/strtomp.c index b5e00f0ef..17954fd04 100644 --- a/sys/src/libmp/port/strtomp.c +++ b/sys/src/libmp/port/strtomp.c @@ -199,18 +199,19 @@ strtomp(char *a, char **pp, int base, mpint *b) } if(base == 0){ - if(*a == '0'){ - a++; - if(*a == 'x' || *a == 'X') { - a++; + base = 10; + if(a[0] == '0'){ + if(a[1] == 'x' || a[1] == 'X') { + a += 2; base = 16; - } else if(*a == 'b' || *a == 'B') { - a++; + } else if(a[1] == 'b' || a[1] == 'B') { + a += 2; base = 2; - } else + } else if(a[1] >= '0' && a[1] <= '7') { + a++; base = 8; - } else - base = 10; + } + } } switch(base){ -- cgit v1.2.3