From aaa493ebd293faeef8b1284c8aa11ec42a433ac4 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Sat, 24 Nov 2007 16:38:20 -0500 Subject: [PATCH] Implement copy-file on Windows --- core/io/files/files.factor | 4 +++- extra/io/windows/windows.factor | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/core/io/files/files.factor b/core/io/files/files.factor index 967f2f7913..1dd4259bb6 100755 --- a/core/io/files/files.factor +++ b/core/io/files/files.factor @@ -97,7 +97,9 @@ TUPLE: no-parent-directory path ; ] } } cond drop ; -: copy-file ( from to -- ) +HOOK: copy-file io-backend ( from to -- ) + +M: object copy-file dup parent-directory make-directories [ stdio get swap diff --git a/extra/io/windows/windows.factor b/extra/io/windows/windows.factor index ac0ede0e06..df0fd0d900 100755 --- a/extra/io/windows/windows.factor +++ b/extra/io/windows/windows.factor @@ -116,6 +116,10 @@ M: windows-io delete-file ( path -- ) normalize-pathname DeleteFile win32-error=0/f ; +M: windows-io copy-file ( from to -- ) + normalize-pathname + f CopyFile win32-error=0/f ; + M: windows-io make-directory ( path -- ) normalize-pathname f CreateDirectory win32-error=0/f ;