[git commit master] chpst: tiny shrinkage and add possible TODO

Denys Vlasenko vda.linux at googlemail.com
Tue Oct 27 16:14:49 UTC 2009


commit: http://git.busybox.net/busybox/commit/?id=ca254490d703c750390042c9afa21d1537c90e9a
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

text    data     bss     dec     hex filename
1398       0       0    1398     576 runit/chpst.o.old
1385       0       0    1385     569 runit/chpst.o

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop at gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 runit/chpst.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/runit/chpst.c b/runit/chpst.c
index 270ec0a..082d726 100644
--- a/runit/chpst.c
+++ b/runit/chpst.c
@@ -92,6 +92,7 @@ enum {
 	OPT_2 = (1 << 20) * ENABLE_CHPST,
 };
 
+/* TODO: use recursive_action? */
 static NOINLINE void edir(const char *directory_name)
 {
 	int wdir;
@@ -101,11 +102,9 @@ static NOINLINE void edir(const char *directory_name)
 
 	wdir = xopen(".", O_RDONLY | O_NDELAY);
 	xchdir(directory_name);
-	dir = opendir(".");
-	if (!dir)
-		bb_perror_msg_and_die("opendir %s", directory_name);
+	dir = xopendir(".");
 	for (;;) {
-		char buf[256];
+		RESERVE_CONFIG_BUFFER(buf, 256);
 		char *tail;
 		int size;
 
@@ -149,6 +148,7 @@ static NOINLINE void edir(const char *directory_name)
 				break;
 		}
 		xsetenv(d->d_name, buf);
+		RELEASE_CONFIG_BUFFER(buf);
 	}
 	closedir(dir);
 	if (fchdir(wdir) == -1)
-- 
1.6.3.3



More information about the busybox-cvs mailing list