changeset 270:e9f75ffd3200

If we don't remember to closedir(), the leaked filehandles add up.
author Rob Landley <rob@landley.net>
date Mon, 24 Mar 2008 05:34:58 -0500
parents 7b3d9594bf9c
children 7d625cbdde25
files lib/dirtree.c
diffstat 1 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lib/dirtree.c	Mon Mar 24 05:14:37 2008 -0500
+++ b/lib/dirtree.c	Mon Mar 24 05:34:58 2008 -0500
@@ -57,10 +57,12 @@
 	int len = strlen(path);
 
 	if (!(dir = opendir(path))) perror_msg("No %s", path);
-
-	for (;;) {
+	else for (;;) {
 		struct dirent *entry = readdir(dir);
-		if (!entry) break;
+		if (!entry) {
+			closedir(dir);
+			break;
+		}
 
 		// Skip "." and ".."
 		if (entry->d_name[0]=='.') {