Reputation: 149
I am trying to debug right now in C and am curious if it is alright to call opendir() repeatedly without having to first call closedir() because I am trying to run a loop to open sub-directories when the while-loop that calls readdir() encounters them. And I assume that closing the current directory would cause me to lose the ability to read it.
Upvotes: 2
Views: 2245
Reputation: 53310
You'll have to be careful not to leak the DIR*
that you are collecting, but as long as you don't hit the file-descriptor limit you shouldn't have any problem with having multiple opendir()
open at the same time.
Upvotes: 1
Reputation: 86744
Yes, you can do multiple opendir() calls. Be wary of symbolic link loops which could cause you to get into an infinite loop and consume all available memory.
Upvotes: 2
Reputation: 5491
You can use opendir()
repeatedly. Just keep your DIR *
s and call closedir()
when you're done with each.
Upvotes: 5