@@ -55,7 +55,7 @@ func init() {
5555 flag .Parse ()
5656}
5757
58- func readDevDirectory (dirToList string ) (files []string , err error ) {
58+ func readDevDirectory (dirToList string , allowedRecursions uint8 ) (files []string , err error ) {
5959 var foundFiles []string
6060
6161 fType , err := os .Stat (dirToList )
@@ -79,10 +79,12 @@ func readDevDirectory(dirToList string) (files []string, err error) {
7979 f .Close ()
8080 for _ , subDir := range files {
8181 foundFiles = append (foundFiles , subDir )
82- filesDir , err := readDevDirectory (dirToList + "/" + subDir )
83- if err == nil {
84- for _ , fileName := range filesDir {
85- foundFiles = append (foundFiles , subDir + "/" + fileName )
82+ if allowedRecursions > 0 {
83+ filesDir , err := readDevDirectory (dirToList + "/" + subDir ,allowedRecursions - 1 )
84+ if err == nil {
85+ for _ , fileName := range filesDir {
86+ foundFiles = append (foundFiles , subDir + "/" + fileName )
87+ }
8688 }
8789 }
8890 }
@@ -127,13 +129,13 @@ func main() {
127129 }
128130
129131 glog .V (0 ).Info ("Reading existing devices on /dev" )
130- ExistingDevices , err := readDevDirectory ("/dev" )
132+ ExistingDevices , err := readDevDirectory ("/dev" , 10 )
131133 if err != nil {
132134 glog .Errorf (err .Error ())
133135 os .Exit (1 )
134136 }
135137
136- ExistingDevicesSys , err := readDevDirectory ("/sys/devices" )
138+ ExistingDevicesSys , err := readDevDirectory ("/sys/devices" , 0 )
137139 if err != nil {
138140 glog .Errorf (err .Error ())
139141 os .Exit (1 )
0 commit comments