parseInteger->parseUnsignedInteger to clarify meaning
[ghc-hetmet.git] / compiler / utils / StringBuffer.lhs
index e52e7e7..28a7f67 100644 (file)
@@ -1,7 +1,7 @@
 %
+% (c) The University of Glasgow 2006
 % (c) The University of Glasgow, 1997-2006
 %
-\section{String buffers}
 
 Buffers for scanning string input stored in external arrays.
 
@@ -33,7 +33,7 @@ module StringBuffer
         lexemeToFastString,
 
         -- * Parsing integers
-       parseInteger,
+       parseUnsignedInteger,
        ) where
 
 #include "HsVersions.h"
@@ -207,12 +207,14 @@ byteOff (StringBuffer buf _ cur) i =
     w <- peek (ptr `plusPtr` (cur+i))
     return (unsafeChr (fromIntegral (w::Word8)))
 
--- | XXX assumes ASCII digits only
-parseInteger :: StringBuffer -> Int -> Integer -> (Char->Int) -> Integer
-parseInteger buf len radix to_int 
+-- | XXX assumes ASCII digits only (by using byteOff)
+parseUnsignedInteger :: StringBuffer -> Int -> Integer -> (Char->Int) -> Integer
+parseUnsignedInteger buf len radix char_to_int 
   = go 0 0
-  where go i x | i == len  = x
-              | otherwise = go (i+1) (x * radix + toInteger (to_int (byteOff buf i)))
+  where
+    go i x | i == len  = x
+           | otherwise = go (i+1)
+              (x * radix + toInteger (char_to_int (byteOff buf i)))
 
 -- -----------------------------------------------------------------------------
 -- under the carpet