[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] file-copy does not work on Windows
From: |
Felix |
Subject: |
Re: [Chicken-users] file-copy does not work on Windows |
Date: |
Sun, 28 Aug 2011 13:14:19 +0200 (CEST) |
Hello!
> I am using Chicken to make a browser utility with GUI in Windows XP.
> And I found that (file-copy) does not work correctly on Windows platform.
> file was copied quietly, but it seems broken.
> I looked into the source, and found it:
>
> windows-mingw32-x86 [ manyargs dload ptables ]
> compiled 2011/08/14 on DESKTOP (MinGW)
>
> #;3> (string-length (read-string #f (open-input-file "firefox.png")))
> 6162
> #;22> (file-size "firefox.png")
> 70516
Please try
(open-input-file "firefox.png" #:binary)
Windows distinguishes between binary and text files. On UNIX this flag
makes no difference.
>
> It is necessary to fix (make-pathname) and (regular-file?), too.
> ;files.scm line176->(let ([def-pds (if ##sys#windows-platform "\\" "/")] )
> (define (regular-file?* src)
> (or (eq? (software-type) 'windows) (regular-file? src)))
I'm not sure what you mean: does "regular-file?" not work on Windows?
(I can't try it out myself, right now)
What chicken version are you using? "make-pathname" should normally
work.
>
> I like Chicken Scheme, thank you for your great work!
You are very welcome. Thanks for using it!
cheers,
felix