summaryrefslogtreecommitdiffhomepage
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)
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 {
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)