From 1f85b7ec1459062f40df5faa7ac40eb714946b32 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Tue, 11 Nov 2008 15:35:17 -0600 Subject: [PATCH] catch errors for windows file-systems word and return a tuple with just a mount point this happens on empty floppy disk drives --- basis/io/windows/files/files.factor | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/basis/io/windows/files/files.factor b/basis/io/windows/files/files.factor index b9b5baa0ca..e3b96b98d8 100755 --- a/basis/io/windows/files/files.factor +++ b/basis/io/windows/files/files.factor @@ -300,7 +300,7 @@ M: winnt file-system-info ( path -- file-system-info ) utf16n alien>string ] if ; -M: winnt file-systems ( -- array ) +: find-volumes ( -- array ) find-first-volume [ '[ @@ -309,8 +309,14 @@ M: winnt file-systems ( -- array ) [ drop ] produce swap prefix ] - ] [ '[ _ FindVolumeClose win32-error=0/f ] ] bi [ ] cleanup - [ volume>paths ] map ; + ] [ '[ _ FindVolumeClose win32-error=0/f ] ] bi [ ] cleanup ; + +M: winnt file-systems ( -- array ) + find-volumes [ volume>paths ] map + concat [ + [ file-system-info ] + [ drop winnt-file-system-info new swap >>mount-point ] recover + ] map ; : file-times ( path -- timestamp timestamp timestamp ) [