shithub: mc

Download patch

ref: 6dcc346d38d0d9be13802e175707552483ec910e
parent: b0e4641ba0ebc3c6297792d289099eeb9b8975cb
author: Ori Bernstein <[email protected]>
date: Wed Dec 25 21:36:21 EST 2013

Fix integer parsing for nondecimal bases.

    We forgot to add in 10 for 'a'... Oops.

--- a/libstd/intparse.myr
+++ b/libstd/intparse.myr
@@ -75,9 +75,9 @@
 	if c >= '0' && c <= '9'
 		v =  (c - '0') castto(@a::(tcint,tcnum,tctest))
 	elif c >= 'a' && c <= 'z'
-		v =  (c - 'a') castto(@a::(tcint,tcnum,tctest))
+		v =  (c - 'a' + 10) castto(@a::(tcint,tcnum,tctest))
 	elif c >= 'A' && c <= 'Z'
-		v =  (c - 'A') castto(@a::(tcint,tcnum,tctest))
+		v =  (c - 'A' + 10) castto(@a::(tcint,tcnum,tctest))
 	;;
 
 	if v < 0 || v > (base castto(@a::(tcint,tcnum,tctest)))