Index: lib/xvfs/xvfs.tcl ================================================================== --- lib/xvfs/xvfs.tcl +++ lib/xvfs/xvfs.tcl @@ -169,11 +169,11 @@ set inputFile [file join $workingDirectory $file] set outputFile [file join $outputDirectory [encoding convertto utf-8 $file]] if {[info command ::xvfs::callback::setOutputFileName] ne ""} { set outputFile [::xvfs::callback::setOutputFileName $file $workingDirectory $inputFile $outputDirectory $outputFile] - if {$outputFile eq ""} { + if {$outputFile eq "/"} { continue } } unset -nocomplain fileInfo @@ -199,20 +199,26 @@ lappend outputFiles {*}[processDirectory $fsName $directory $subDirectory] } set inputFile $directory set outputFile $outputDirectory - unset -nocomplain fileInfo - file stat $inputFile fileInfo - set fileInfo(children) $children + if {[info command ::xvfs::callback::setOutputFileName] ne ""} { + set outputFile [::xvfs::callback::setOutputFileName $directory $directory $inputFile $outputDirectory $outputFile] + } + + if {$outputFile ne "/"} { + unset -nocomplain fileInfo + file stat $inputFile fileInfo + set fileInfo(children) $children - processFile $fsName $inputFile $outputFile [array get fileInfo] - lappend outputFiles $outputFile + processFile $fsName $inputFile $outputFile [array get fileInfo] + lappend outputFiles $outputFile + } if {$isTopLevel} { if {[info command ::xvfs::callback::addOutputFiles] ne ""} { - lappend outputFiles {*}[::xvfs::callback::addOutputFiles] + lappend outputFiles {*}[::xvfs::callback::addOutputFiles $fsName] } ::xvfs::_emitLine "\};" } @@ -267,14 +273,14 @@ set ::xvfs::fsName $fsName set ::xvfs::rootDirectory $rootDirectory } -proc ::xvfs::run {argv} { +proc ::xvfs::run {args} { uplevel #0 { package require minirivet } - set ::xvfs::argv $argv + set ::xvfs::argv $args ::minirivet::parse [file join $::xvfs::_xvfsDir xvfs.c.rvt] } proc ::xvfs::setOutputChannel {channel} { uplevel #0 { package require minirivet } Index: xvfs-create ================================================================== --- xvfs-create +++ xvfs-create @@ -54,11 +54,11 @@ } if {[info exists headerFile]} { ::xvfs::staticIncludeHeader $headerFile } - ::xvfs::run $argv + ::xvfs::run {*}$argv if {[info exists fd]} { close $fd } }