Skip to content

Commit 8a304aa

Browse files
committed
Merge branch 'dev' into 'master'
Fix recursion problem See merge request arm-research/smarter/smarter-device-manager!18
2 parents 567ac37 + 1421f56 commit 8a304aa

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

main.go

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)