Posted to tcl by dkf at Tue Dec 04 15:12:11 GMT 2007view raw
- 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
- }