On 27/04/2010 11:54, Eric Kow wrote:
Hi Simon,

On Mon, Apr 26, 2010 at 22:52:32 +0100, Simon Marlow wrote:
Could you submit a bug for that?  I'm not by a Windows box right now to
test it, but looking at the code it looks like lstat has exactly the
same implementation as c_stat:

foreign import ccall unsafe "HsBase.h __hscore_lstat"
    lstat :: CFilePath ->  Ptr CStat ->  IO CInt

foreign import ccall unsafe "HsBase.h __hscore_stat"
    c_stat :: CFilePath ->  Ptr CStat ->  IO CInt

Is there any relation whatsoever between this issue, and the recent
http://bugs.darcs.net/issue1826 and Brian Smith's comment on Reddit
that "The problems with building using GHC 6.12 on Windows are caused by
a change in GHC's internal representation of filepaths on Windows; they
were narrow strings previously and they are wide strings presently" [1]_

Thanks,

Eric

.. [1] 
http://www.reddit.com/r/haskell/comments/buz97/why_arent_you_contributing_to_haskell/c0ouhuy

I imagine issue1826 and Brian Smith's comment are the same thing, and it's entirely possible that this could also cause the original error in this thread

darcs.exe: mmap of '_darcs/index' failed: does not exist (No such file
or directory)

and that would imply that someone had worked around the compile-time error in darcs by casting the pointer rather than converting the string to UTF-16, leading to a file-not-found.

However, I'm still bemused about the report that lstat returns random data on Windows. I just looked around for uses of lstat, and it seems we use System.Posix.Internals.lstat on Windows in the implementation of System.Directory.renameFile, which is apparently working.

Cheers,
        Simon
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to