You could use the /local refinement like this:
list-dirs: func [
"returns dir tree as block"
dir [file!] "root dir"
/local dirtree ; A change here
]
[
dirtree: make block! 100
foreach name read dir [
if dir? dir/:name [
append dirtree dir/:name
list-dirs dir/:name
]
]
dirtree
]
Or you could the other way to define a function like this:
list-dirs: function [ ; A change here
"returns dir tree as block"
dir [file!] "root dir"
][dirtree] ; A change here - this block specifies the
locals
[
dirtree: make block! 100
foreach name read dir [
if dir? dir/:name [
append dirtree dir/:name
list-dirs dir/:name
]
]
dirtree
]
Brett.