summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen2000-07-25 18:01:20 +0000
committerEric Andersen2000-07-25 18:01:20 +0000
commitb040d4f3da1545225b9a58301deb29acee6aa7f3 (patch)
treef029b6d39fc4619a8369094efd4c558b10f3d927
parentb9ea02c04b91773e6e5a116313b360f3499a2d4e (diff)
downloadbusybox-b040d4f3da1545225b9a58301deb29acee6aa7f3.zip
busybox-b040d4f3da1545225b9a58301deb29acee6aa7f3.tar.gz
Use BB_FEATURE_CLEAN_UP where appropriate
-Erik
-rw-r--r--cmdedit.c12
-rw-r--r--coreutils/dd.c2
-rw-r--r--dd.c2
-rw-r--r--editors/sed.c4
-rw-r--r--fsck_minix.c6
-rw-r--r--mount.c2
-rw-r--r--sed.c4
-rw-r--r--shell/cmdedit.c12
-rw-r--r--umount.c5
-rw-r--r--util-linux/fsck_minix.c6
-rw-r--r--util-linux/mount.c2
-rw-r--r--util-linux/umount.c5
12 files changed, 48 insertions, 14 deletions
diff --git a/cmdedit.c b/cmdedit.c
index 0de18e8..0ce64be 100644
--- a/cmdedit.c
+++ b/cmdedit.c
@@ -115,6 +115,18 @@ void cmdedit_reset_term(void)
if (reset_term)
/* sparc and other have broken termios support: use old termio handling. */
setTermSettings(fileno(stdin), (void*) &initial_settings);
+#ifdef BB_FEATURE_CLEAN_UP
+ if (his_front) {
+ struct history *n;
+ //while(his_front!=his_end) {
+ while(his_front!=his_end) {
+ n = his_front->n;
+ free(his_front->s);
+ free(his_front);
+ his_front=n;
+ }
+ }
+#endif
}
void clean_up_and_die(int sig)
diff --git a/coreutils/dd.c b/coreutils/dd.c
index 8689919..6df2588 100644
--- a/coreutils/dd.c
+++ b/coreutils/dd.c
@@ -173,7 +173,7 @@ extern int dd_main(int argc, char **argv)
cleanup:
/* Note that we are not freeing memory or closing
* files here, to save a few bytes. */
-#if 0
+#ifdef BB_FEATURE_CLEAN_UP
close(inFd);
close(outFd);
free(buf);
diff --git a/dd.c b/dd.c
index 8689919..6df2588 100644
--- a/dd.c
+++ b/dd.c
@@ -173,7 +173,7 @@ extern int dd_main(int argc, char **argv)
cleanup:
/* Note that we are not freeing memory or closing
* files here, to save a few bytes. */
-#if 0
+#ifdef BB_FEATURE_CLEAN_UP
close(inFd);
close(outFd);
free(buf);
diff --git a/editors/sed.c b/editors/sed.c
index b54a9bb..69a5e03 100644
--- a/editors/sed.c
+++ b/editors/sed.c
@@ -92,7 +92,7 @@ static int ncmds = 0; /* number of sed commands */
/*static char *cur_file = NULL;*/ /* file currently being processed XXX: do I need this? */
-#if 0
+#ifdef BB_FEATURE_CLEAN_UP
static void destroy_cmd_strs()
{
if (sed_cmds == NULL)
@@ -663,7 +663,7 @@ extern int sed_main(int argc, char **argv)
{
int opt;
-#if 0
+#ifdef BB_FEATURE_CLEAN_UP
/* destroy command strings on exit */
if (atexit(destroy_cmd_strs) == -1) {
perror("sed");
diff --git a/fsck_minix.c b/fsck_minix.c
index c3c493f..f980fe9 100644
--- a/fsck_minix.c
+++ b/fsck_minix.c
@@ -1319,7 +1319,7 @@ static void alloc_name_list(void)
name_list[i] = xmalloc(sizeof(char) * BUFSIZ + 1);
}
-#if 0
+#ifdef BB_FEATURE_CLEAN_UP
/* execute this atexit() to deallocate name_list[] */
/* piptigger was here */
static void free_name_list(void)
@@ -1344,9 +1344,11 @@ extern int fsck_minix_main(int argc, char **argv)
int retcode = 0;
alloc_name_list();
+#ifdef BB_FEATURE_CLEAN_UP
/* Don't bother to free memory. Exit does
* that automagically, so we can save a few bytes */
- //atexit(free_name_list);
+ atexit(free_name_list);
+#endif
if (INODE_SIZE * MINIX_INODES_PER_BLOCK != BLOCK_SIZE)
die("bad inode size");
diff --git a/mount.c b/mount.c
index 610d12d..6e95cdc 100644
--- a/mount.c
+++ b/mount.c
@@ -347,9 +347,9 @@ extern int mount_main(int argc, char **argv)
mntentlist[i].mnt_opts, mntentlist[i].mnt_freq,
mntentlist[i].mnt_passno);
}
+#ifdef BB_FEATURE_CLEAN_UP
/* Don't bother to close files or free memory. Exit
* does that automagically, so we can save a few bytes */
-#if 0
free( mntentlist);
close(fd);
#endif
diff --git a/sed.c b/sed.c
index b54a9bb..69a5e03 100644
--- a/sed.c
+++ b/sed.c
@@ -92,7 +92,7 @@ static int ncmds = 0; /* number of sed commands */
/*static char *cur_file = NULL;*/ /* file currently being processed XXX: do I need this? */
-#if 0
+#ifdef BB_FEATURE_CLEAN_UP
static void destroy_cmd_strs()
{
if (sed_cmds == NULL)
@@ -663,7 +663,7 @@ extern int sed_main(int argc, char **argv)
{
int opt;
-#if 0
+#ifdef BB_FEATURE_CLEAN_UP
/* destroy command strings on exit */
if (atexit(destroy_cmd_strs) == -1) {
perror("sed");
diff --git a/shell/cmdedit.c b/shell/cmdedit.c
index 0de18e8..0ce64be 100644
--- a/shell/cmdedit.c
+++ b/shell/cmdedit.c
@@ -115,6 +115,18 @@ void cmdedit_reset_term(void)
if (reset_term)
/* sparc and other have broken termios support: use old termio handling. */
setTermSettings(fileno(stdin), (void*) &initial_settings);
+#ifdef BB_FEATURE_CLEAN_UP
+ if (his_front) {
+ struct history *n;
+ //while(his_front!=his_end) {
+ while(his_front!=his_end) {
+ n = his_front->n;
+ free(his_front->s);
+ free(his_front);
+ his_front=n;
+ }
+ }
+#endif
}
void clean_up_and_die(int sig)
diff --git a/umount.c b/umount.c
index df075f7..6a5e4ca 100644
--- a/umount.c
+++ b/umount.c
@@ -142,7 +142,7 @@ char *mtab_next(void **iter)
/* Don't bother to clean up, since exit() does that
* automagically, so we can save a few bytes */
-#if 0
+#ifdef BB_FEATURE_CLEAN_UP
void mtab_free(void)
{
struct _mtab_entry_t *this, *next;
@@ -235,6 +235,9 @@ extern int umount_main(int argc, char **argv)
if (argc < 2) {
usage(umount_usage);
}
+#ifdef BB_FEATURE_CLEAN_UP
+ atexit(mtab_free);
+#endif
/* Parse any options */
while (--argc > 0 && **(++argv) == '-') {
diff --git a/util-linux/fsck_minix.c b/util-linux/fsck_minix.c
index c3c493f..f980fe9 100644
--- a/util-linux/fsck_minix.c
+++ b/util-linux/fsck_minix.c
@@ -1319,7 +1319,7 @@ static void alloc_name_list(void)
name_list[i] = xmalloc(sizeof(char) * BUFSIZ + 1);
}
-#if 0
+#ifdef BB_FEATURE_CLEAN_UP
/* execute this atexit() to deallocate name_list[] */
/* piptigger was here */
static void free_name_list(void)
@@ -1344,9 +1344,11 @@ extern int fsck_minix_main(int argc, char **argv)
int retcode = 0;
alloc_name_list();
+#ifdef BB_FEATURE_CLEAN_UP
/* Don't bother to free memory. Exit does
* that automagically, so we can save a few bytes */
- //atexit(free_name_list);
+ atexit(free_name_list);
+#endif
if (INODE_SIZE * MINIX_INODES_PER_BLOCK != BLOCK_SIZE)
die("bad inode size");
diff --git a/util-linux/mount.c b/util-linux/mount.c
index 610d12d..6e95cdc 100644
--- a/util-linux/mount.c
+++ b/util-linux/mount.c
@@ -347,9 +347,9 @@ extern int mount_main(int argc, char **argv)
mntentlist[i].mnt_opts, mntentlist[i].mnt_freq,
mntentlist[i].mnt_passno);
}
+#ifdef BB_FEATURE_CLEAN_UP
/* Don't bother to close files or free memory. Exit
* does that automagically, so we can save a few bytes */
-#if 0
free( mntentlist);
close(fd);
#endif
diff --git a/util-linux/umount.c b/util-linux/umount.c
index df075f7..6a5e4ca 100644
--- a/util-linux/umount.c
+++ b/util-linux/umount.c
@@ -142,7 +142,7 @@ char *mtab_next(void **iter)
/* Don't bother to clean up, since exit() does that
* automagically, so we can save a few bytes */
-#if 0
+#ifdef BB_FEATURE_CLEAN_UP
void mtab_free(void)
{
struct _mtab_entry_t *this, *next;
@@ -235,6 +235,9 @@ extern int umount_main(int argc, char **argv)
if (argc < 2) {
usage(umount_usage);
}
+#ifdef BB_FEATURE_CLEAN_UP
+ atexit(mtab_free);
+#endif
/* Parse any options */
while (--argc > 0 && **(++argv) == '-') {