projects
/
oweals
/
busybox.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
*: remove some uses of argc
[oweals/busybox.git]
/
runit
/
chpst.c
diff --git
a/runit/chpst.c
b/runit/chpst.c
index 270ec0aebd42a2ca2131cefa5972fba2cd416f26..082d7268215ed0d32a7ba77a252f03a346486d18 100644
(file)
--- a/
runit/chpst.c
+++ b/
runit/chpst.c
@@
-92,6
+92,7
@@
enum {
OPT_2 = (1 << 20) * ENABLE_CHPST,
};
OPT_2 = (1 << 20) * ENABLE_CHPST,
};
+/* TODO: use recursive_action? */
static NOINLINE void edir(const char *directory_name)
{
int wdir;
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);
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 (;;) {
for (;;) {
-
char buf[256]
;
+
RESERVE_CONFIG_BUFFER(buf, 256)
;
char *tail;
int size;
char *tail;
int size;
@@
-149,6
+148,7
@@
static NOINLINE void edir(const char *directory_name)
break;
}
xsetenv(d->d_name, buf);
break;
}
xsetenv(d->d_name, buf);
+ RELEASE_CONFIG_BUFFER(buf);
}
closedir(dir);
if (fchdir(wdir) == -1)
}
closedir(dir);
if (fchdir(wdir) == -1)