remove bug: fsck do not know path
author"Vladimir N. Oleynik" <dzo@simtreas.ru>
Sat, 26 Nov 2005 11:01:23 +0000 (11:01 -0000)
committer"Vladimir N. Oleynik" <dzo@simtreas.ru>
Sat, 26 Nov 2005 11:01:23 +0000 (11:01 -0000)
e2fsprogs/fsck.c
e2fsprogs/fsck.h
e2fsprogs/util.c
e2fsprogs/util.h

index 7f7ab3eb32edc2330bc5bcb4a3cb62ae67f65483..848d559bc82fb16b66c11f1b300748e8f5cb9ab0 100644 (file)
@@ -1361,7 +1361,7 @@ int fsck_main(int argc, char *argv[])
                fstab = _PATH_MNTTAB;
        load_fs_info(fstab);
 
-       e2fs_set_sbin_path();
+       fsck_path = e2fs_set_sbin_path();
 
        if ((num_devices == 1) || (serialize))
                interactive = 1;
@@ -1405,8 +1405,6 @@ int fsck_main(int argc, char *argv[])
                }
        }
        status |= wait_many(FLAG_WAIT_ALL);
-       if (ENABLE_FEATURE_CLEAN_UP)
-               free(fsck_path);
        blkid_put_cache(cache);
        return status;
 }
index bd22fbb2465e86b8b11401251fc2c7bf06af8321..8ae8f427aac5385887a13c6c046984ec3834be8d 100644 (file)
@@ -13,4 +13,4 @@
 #define FSCK_CANCELED    32     /* Aborted with a signal or ^C */
 #define EXIT_LIBRARY     128
 
-extern void e2fs_set_sbin_path(void);
+extern char *e2fs_set_sbin_path(void);
index e59b18c5a1b7aefec6d02ca942e6a6291b6e9605..7e9c09234330d99d6a161bcf58dc67e5d55ae565 100644 (file)
@@ -254,13 +254,15 @@ void make_journal_blocks(ext2_filsys fs, int journal_size, int journal_flags, in
                puts("done");
 }
 
-void e2fs_set_sbin_path(void)
+char *e2fs_set_sbin_path(void)
 {
        char *oldpath = getenv("PATH");
        /* Update our PATH to include /sbin  */
 #define PATH_SET "/sbin"
-       if (oldpath)
-               putenv (bb_xasprintf("%s:%s", PATH_SET, oldpath));
-       else
-               putenv (PATH_SET);
+       if (oldpath) 
+               oldpath = bb_xasprintf("%s:%s", PATH_SET, oldpath);
+        else 
+               oldpath = PATH_SET;
+       putenv (oldpath);
+       return oldpath;
 }
index 4634b08dd6f78f624c4a03d061b8f2cf1efbc188..24d5e6545025af3c072517f39811ccacc2a0f40f 100644 (file)
@@ -18,4 +18,4 @@ extern int figure_journal_size(int size, ext2_filsys fs);
 extern void print_check_message(ext2_filsys fs);
 extern void make_journal_device(char *journal_device, ext2_filsys fs, int quiet, int force);
 extern void make_journal_blocks(ext2_filsys fs, int journal_size, int journal_flags, int quiet);
-extern void e2fs_set_sbin_path(void);
+extern char *e2fs_set_sbin_path(void);