aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2009-10-26 23:27:07 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2009-10-27 17:14:49 +0100
commitca254490d703c750390042c9afa21d1537c90e9a (patch)
treeb63673369b01cd5f9c64c4b538ab452bb740dbfa
parentb04f058e769dac576e2ec090d8c6e6f63c6cb52f (diff)
downloadbusybox-w32-ca254490d703c750390042c9afa21d1537c90e9a.tar.gz
busybox-w32-ca254490d703c750390042c9afa21d1537c90e9a.tar.bz2
busybox-w32-ca254490d703c750390042c9afa21d1537c90e9a.zip
chpst: tiny shrinkage and add possible TODO
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@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--runit/chpst.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/runit/chpst.c b/runit/chpst.c
index 270ec0aeb..082d72682 100644
--- a/runit/chpst.c
+++ b/runit/chpst.c
@@ -92,6 +92,7 @@ enum {
92 OPT_2 = (1 << 20) * ENABLE_CHPST, 92 OPT_2 = (1 << 20) * ENABLE_CHPST,
93}; 93};
94 94
95/* TODO: use recursive_action? */
95static NOINLINE void edir(const char *directory_name) 96static NOINLINE void edir(const char *directory_name)
96{ 97{
97 int wdir; 98 int wdir;
@@ -101,11 +102,9 @@ static NOINLINE void edir(const char *directory_name)
101 102
102 wdir = xopen(".", O_RDONLY | O_NDELAY); 103 wdir = xopen(".", O_RDONLY | O_NDELAY);
103 xchdir(directory_name); 104 xchdir(directory_name);
104 dir = opendir("."); 105 dir = xopendir(".");
105 if (!dir)
106 bb_perror_msg_and_die("opendir %s", directory_name);
107 for (;;) { 106 for (;;) {
108 char buf[256]; 107 RESERVE_CONFIG_BUFFER(buf, 256);
109 char *tail; 108 char *tail;
110 int size; 109 int size;
111 110
@@ -149,6 +148,7 @@ static NOINLINE void edir(const char *directory_name)
149 break; 148 break;
150 } 149 }
151 xsetenv(d->d_name, buf); 150 xsetenv(d->d_name, buf);
151 RELEASE_CONFIG_BUFFER(buf);
152 } 152 }
153 closedir(dir); 153 closedir(dir);
154 if (fchdir(wdir) == -1) 154 if (fchdir(wdir) == -1)