Hi Ketil,

I know your problem all too well. If you are sure that you need all of
the file's content, then you should read it all from the start. I've
found this little function handy and I'm using it all over the place:

readFileStrictly :: FilePath -> IO String
readFileStrictly filePath =
  do h <- openFile filePath ReadMode
     contents <- hGetContents h
     hClose (g contents h)
     return contents
  where
    g [] h = h
    g (_:rest) h = g rest h

Also, 
     hClose (length contents `seq` h)
would work.

If this is too strict for your purposes (eg, if you don't know that
you need this file's content at all), then you can still wrap it
into unsafePerformIO.

Hope this helps
-Peter
_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to