From 2b6fc908bc368b540845a313c3b8a867c5ad9a42 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 7 Dec 2006 00:25:35 +0100 Subject: Imported from util-linux-2.8 tarball. --- disk-utils/mkfs.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'disk-utils/mkfs.c') diff --git a/disk-utils/mkfs.c b/disk-utils/mkfs.c index 8d4671915..ba293e939 100644 --- a/disk-utils/mkfs.c +++ b/disk-utils/mkfs.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include @@ -26,7 +27,7 @@ # define DEFAULT_FSTYPE "ext2" #endif -#define SEARCH_PATH "PATH=/sbin:/sbin/fs.d:/sbin/fs:/etc/fs:/etc" +#define SEARCH_PATH "PATH=/sbin:/sbin/fs:/sbin/fs.d:/etc/fs:/etc" #define PROGNAME "mkfs.%s" @@ -35,6 +36,7 @@ int main(int argc, char *argv[]) char progname[NAME_MAX]; char *fstype = NULL; int i, more = 0, verbose = 0; + char *oldpath, *newpath; /* Check commandline options. */ opterr = 0; @@ -62,7 +64,16 @@ int main(int argc, char *argv[]) fstype = DEFAULT_FSTYPE; /* Set PATH and program name */ - putenv(SEARCH_PATH); + oldpath = getenv("PATH"); + if (!oldpath) + oldpath = "/bin"; + newpath = (char *) malloc(strlen(oldpath) + sizeof(SEARCH_PATH) + 2); + if (!newpath) { + fputs("mkfs: out of memory\n", stderr); + exit(1); + } + sprintf(newpath, "%s:%s\n", SEARCH_PATH, oldpath); + putenv(newpath); sprintf(progname, PROGNAME, fstype); argv[--optind] = progname; -- cgit v1.2.3-55-g7522