diff options
-rwxr-xr-x | applets/install.sh | 6 | ||||
-rw-r--r-- | coreutils/dd.c | 5 | ||||
-rw-r--r-- | coreutils/mkdir.c | 14 | ||||
-rw-r--r-- | dd.c | 5 | ||||
-rwxr-xr-x | install.sh | 6 | ||||
-rw-r--r-- | mkdir.c | 14 | ||||
-rw-r--r-- | utility.c | 8 |
7 files changed, 35 insertions, 23 deletions
diff --git a/applets/install.sh b/applets/install.sh index 4c2a4f1..458e65c 100755 --- a/applets/install.sh +++ b/applets/install.sh @@ -12,11 +12,11 @@ h=`sort busybox.links | uniq` for i in $h ; do mypath=`echo $i | sed -e 's/\(^.*\/\)\(.*\)/\1/g' `; myapp=`echo $i | sed -e 's/\(^.*\/\)\(.*\)/\2/g' `; - mkdir -p $1$mypath echo " $1$mypath$myapp -> /bin/busybox" - (cd $1$mypath ; rm -f $1$mypath$myapp ; ln -s /bin/busybox $1$mypath$myapp ) + mkdir -p $1$mypath + (cd $1$mypath && rm -f $1$mypath$myapp && ln -s /bin/busybox $1$mypath$myapp ) done rm -f $1/bin/busybox install -m 755 busybox $1/bin/busybox - +exit 0 diff --git a/coreutils/dd.c b/coreutils/dd.c index 6494857..a2dc1c3 100644 --- a/coreutils/dd.c +++ b/coreutils/dd.c @@ -29,10 +29,15 @@ #include "internal.h" +#include <features.h> #include <stdio.h> #include <fcntl.h> #include <errno.h> +#if (__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1) #include <inttypes.h> +#else +typedef unsigned long long int uintmax_t; +#endif static const char dd_usage[] = "dd [if=name] [of=name] [bs=n] [count=n]\n\n" diff --git a/coreutils/mkdir.c b/coreutils/mkdir.c index 2cd1788..9ea3b4e 100644 --- a/coreutils/mkdir.c +++ b/coreutils/mkdir.c @@ -80,17 +80,21 @@ extern int mkdir_main(int argc, char **argv) while (argc > 0) { int status; struct stat statBuf; - status=stat(*argv, &statBuf); + char buf[NAME_MAX]; + + strcpy (buf, *argv); + status=stat(buf, &statBuf); if (status != -1 && status != ENOENT ) { - fprintf(stderr, "%s: File exists\n", *argv); + fprintf(stderr, "%s: File exists\n", buf); exit( FALSE); } if (parentFlag == TRUE) { - createPath(*argv, mode); + strcat( buf, "/"); + createPath(buf, mode); } else { - if (mkdir (*argv, mode) != 0) { - perror(*argv); + if (mkdir (buf, mode) != 0) { + perror(buf); exit( FALSE); } } @@ -29,10 +29,15 @@ #include "internal.h" +#include <features.h> #include <stdio.h> #include <fcntl.h> #include <errno.h> +#if (__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1) #include <inttypes.h> +#else +typedef unsigned long long int uintmax_t; +#endif static const char dd_usage[] = "dd [if=name] [of=name] [bs=n] [count=n]\n\n" @@ -12,11 +12,11 @@ h=`sort busybox.links | uniq` for i in $h ; do mypath=`echo $i | sed -e 's/\(^.*\/\)\(.*\)/\1/g' `; myapp=`echo $i | sed -e 's/\(^.*\/\)\(.*\)/\2/g' `; - mkdir -p $1$mypath echo " $1$mypath$myapp -> /bin/busybox" - (cd $1$mypath ; rm -f $1$mypath$myapp ; ln -s /bin/busybox $1$mypath$myapp ) + mkdir -p $1$mypath + (cd $1$mypath && rm -f $1$mypath$myapp && ln -s /bin/busybox $1$mypath$myapp ) done rm -f $1/bin/busybox install -m 755 busybox $1/bin/busybox - +exit 0 @@ -80,17 +80,21 @@ extern int mkdir_main(int argc, char **argv) while (argc > 0) { int status; struct stat statBuf; - status=stat(*argv, &statBuf); + char buf[NAME_MAX]; + + strcpy (buf, *argv); + status=stat(buf, &statBuf); if (status != -1 && status != ENOENT ) { - fprintf(stderr, "%s: File exists\n", *argv); + fprintf(stderr, "%s: File exists\n", buf); exit( FALSE); } if (parentFlag == TRUE) { - createPath(*argv, mode); + strcat( buf, "/"); + createPath(buf, mode); } else { - if (mkdir (*argv, mode) != 0) { - perror(*argv); + if (mkdir (buf, mode) != 0) { + perror(buf); exit( FALSE); } } @@ -481,14 +481,8 @@ extern void createPath (const char *name, int mode) char *cpOld; char buf[NAME_MAX]; - strcpy (buf, name); - if (buf[strlen(buf)]!='/') { - buf[strlen(buf)] = '/'; - buf[strlen(buf)+1] = '\0'; - } - + strcpy( buf, name); cp = strchr (buf, '/'); - while (cp) { cpOld = cp; cp = strchr (cp + 1, '/'); |