aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author"Vladimir N. Oleynik" <dzo@simtreas.ru>2005-11-26 11:01:23 +0000
committer"Vladimir N. Oleynik" <dzo@simtreas.ru>2005-11-26 11:01:23 +0000
commit350865e33979bdd2a5005939c214fb3d9f4bbc9d (patch)
tree3d0e96bc755a206854eb7e979e76372f0232a97b
parentcc34344d91cea789edde507bf85714af11daea71 (diff)
downloadbusybox-w32-350865e33979bdd2a5005939c214fb3d9f4bbc9d.tar.gz
busybox-w32-350865e33979bdd2a5005939c214fb3d9f4bbc9d.tar.bz2
busybox-w32-350865e33979bdd2a5005939c214fb3d9f4bbc9d.zip
remove bug: fsck do not know path
-rw-r--r--e2fsprogs/fsck.c4
-rw-r--r--e2fsprogs/fsck.h2
-rw-r--r--e2fsprogs/util.c12
-rw-r--r--e2fsprogs/util.h2
4 files changed, 10 insertions, 10 deletions
diff --git a/e2fsprogs/fsck.c b/e2fsprogs/fsck.c
index 7f7ab3eb3..848d559bc 100644
--- a/e2fsprogs/fsck.c
+++ b/e2fsprogs/fsck.c
@@ -1361,7 +1361,7 @@ int fsck_main(int argc, char *argv[])
1361 fstab = _PATH_MNTTAB; 1361 fstab = _PATH_MNTTAB;
1362 load_fs_info(fstab); 1362 load_fs_info(fstab);
1363 1363
1364 e2fs_set_sbin_path(); 1364 fsck_path = e2fs_set_sbin_path();
1365 1365
1366 if ((num_devices == 1) || (serialize)) 1366 if ((num_devices == 1) || (serialize))
1367 interactive = 1; 1367 interactive = 1;
@@ -1405,8 +1405,6 @@ int fsck_main(int argc, char *argv[])
1405 } 1405 }
1406 } 1406 }
1407 status |= wait_many(FLAG_WAIT_ALL); 1407 status |= wait_many(FLAG_WAIT_ALL);
1408 if (ENABLE_FEATURE_CLEAN_UP)
1409 free(fsck_path);
1410 blkid_put_cache(cache); 1408 blkid_put_cache(cache);
1411 return status; 1409 return status;
1412} 1410}
diff --git a/e2fsprogs/fsck.h b/e2fsprogs/fsck.h
index bd22fbb24..8ae8f427a 100644
--- a/e2fsprogs/fsck.h
+++ b/e2fsprogs/fsck.h
@@ -13,4 +13,4 @@
13#define FSCK_CANCELED 32 /* Aborted with a signal or ^C */ 13#define FSCK_CANCELED 32 /* Aborted with a signal or ^C */
14#define EXIT_LIBRARY 128 14#define EXIT_LIBRARY 128
15 15
16extern void e2fs_set_sbin_path(void); 16extern char *e2fs_set_sbin_path(void);
diff --git a/e2fsprogs/util.c b/e2fsprogs/util.c
index e59b18c5a..7e9c09234 100644
--- a/e2fsprogs/util.c
+++ b/e2fsprogs/util.c
@@ -254,13 +254,15 @@ void make_journal_blocks(ext2_filsys fs, int journal_size, int journal_flags, in
254 puts("done"); 254 puts("done");
255} 255}
256 256
257void e2fs_set_sbin_path(void) 257char *e2fs_set_sbin_path(void)
258{ 258{
259 char *oldpath = getenv("PATH"); 259 char *oldpath = getenv("PATH");
260 /* Update our PATH to include /sbin */ 260 /* Update our PATH to include /sbin */
261#define PATH_SET "/sbin" 261#define PATH_SET "/sbin"
262 if (oldpath) 262 if (oldpath)
263 putenv (bb_xasprintf("%s:%s", PATH_SET, oldpath)); 263 oldpath = bb_xasprintf("%s:%s", PATH_SET, oldpath);
264 else 264 else
265 putenv (PATH_SET); 265 oldpath = PATH_SET;
266 putenv (oldpath);
267 return oldpath;
266} 268}
diff --git a/e2fsprogs/util.h b/e2fsprogs/util.h
index 4634b08dd..24d5e6545 100644
--- a/e2fsprogs/util.h
+++ b/e2fsprogs/util.h
@@ -18,4 +18,4 @@ extern int figure_journal_size(int size, ext2_filsys fs);
18extern void print_check_message(ext2_filsys fs); 18extern void print_check_message(ext2_filsys fs);
19extern void make_journal_device(char *journal_device, ext2_filsys fs, int quiet, int force); 19extern void make_journal_device(char *journal_device, ext2_filsys fs, int quiet, int force);
20extern void make_journal_blocks(ext2_filsys fs, int journal_size, int journal_flags, int quiet); 20extern void make_journal_blocks(ext2_filsys fs, int journal_size, int journal_flags, int quiet);
21extern void e2fs_set_sbin_path(void); 21extern char *e2fs_set_sbin_path(void);