[project @ 2001-05-03 12:33:50 by simonpj]
[ghc-hetmet.git] / ghc / compiler / utils / StringBuffer.lhs
index 713dc77..8f79d2b 100644 (file)
@@ -199,10 +199,10 @@ freeStringBuffer :: StringBuffer -> IO ()
 
 #if __GLASGOW_HASKELL__ >= 411
 stringToStringBuffer str =
-  do let sz@(I# sz#) = length str + 1
-     (Ptr a#) <- mallocBytes sz
+  do let sz@(I# sz#) = length str
+     (Ptr a#) <- mallocBytes (sz+1)
      fill_in str (A# a#)
-     writeCharOffAddr (A# a#) (sz-1) '\0'              -- sentinel
+     writeCharOffAddr (A# a#) sz '\0'          -- sentinel
      return (StringBuffer a# sz# 0# 0#)
  where
   fill_in [] _ = return ()