Posted to tcl by dkf at Tue Dec 04 15:12:11 GMT 2007view pretty

proc get_all_pkgs_recursive {pkg_name path {pkg_list_recursive {}} {recursion_cnt 0}} {
    incr recursion_cnt
    if {$recursion_cnt > 2} {
	debug "Max recursion level reached. Skipping directory $path."
	return
    }
    if {$pkg_list_recursive ne ""} {
        upvar 1 $pkg_list_recursive pkg_list
    } else {
        set pkg_list {}
    }

...

    if {$type == "d"} {
	get_all_pkgs_recursive $pkg_name $path/$file pkg_list $recursion_cnt
    } else {
	lappend pkg_list $path/$file
    }

...

    return $pkg_list
}