Bug fixes
authorEric Andersen <andersen@codepoet.org>
Mon, 22 Nov 1999 07:41:00 +0000 (07:41 -0000)
committerEric Andersen <andersen@codepoet.org>
Mon, 22 Nov 1999 07:41:00 +0000 (07:41 -0000)
applets/install.sh
coreutils/dd.c
coreutils/mkdir.c
dd.c
install.sh
mkdir.c
utility.c

index 4c2a4f1b800e1cb15b295eb7d21e57168256abd7..458e65ce9323dbfc32544aa4ca0f765dc0731d84 100755 (executable)
@@ -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
index 64948571c0d533f54fca26b7a30473a8f0805d69..a2dc1c396917e5f8e94cdc793c51e686c3e4bef6 100644 (file)
 
 
 #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"
index 2cd178805d623237dde44376e5c51c513c3d8c9a..9ea3b4ea0905d96e8e8c3721e6ee8f26631c68b8 100644 (file)
@@ -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);
            }
        }
diff --git a/dd.c b/dd.c
index 64948571c0d533f54fca26b7a30473a8f0805d69..a2dc1c396917e5f8e94cdc793c51e686c3e4bef6 100644 (file)
--- a/dd.c
+++ b/dd.c
 
 
 #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"
index 4c2a4f1b800e1cb15b295eb7d21e57168256abd7..458e65ce9323dbfc32544aa4ca0f765dc0731d84 100755 (executable)
@@ -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/mkdir.c b/mkdir.c
index 2cd178805d623237dde44376e5c51c513c3d8c9a..9ea3b4ea0905d96e8e8c3721e6ee8f26631c68b8 100644 (file)
--- a/mkdir.c
+++ b/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);
            }
        }
index 004864a18f40e86d6fbbe10ffff8692dfd0fc0a1..011c0cf41cde26fd7930b767040c378e0778980a 100644 (file)
--- a/utility.c
+++ b/utility.c
@@ -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, '/');