From 6a76e652aab7d614c2b47b50318e0690c06779c4 Mon Sep 17 00:00:00 2001
From: Eric Andersen <andersen@codepoet.org>
Date: Fri, 19 Nov 1999 05:31:45 +0000
Subject: Stuf

---
 applets/busybox.c  |  3 +++
 applets/busybox.sh |  4 ++--
 applets/install.sh | 15 +++++++++------
 busybox.c          |  3 +++
 busybox.def.h      | 11 +++++++++++
 busybox.sh         |  4 ++--
 coreutils/dd.c     | 37 +++++++++++++------------------------
 dd.c               | 37 +++++++++++++------------------------
 install.sh         | 15 +++++++++------
 more.c             |  8 --------
 util-linux/more.c  |  8 --------
 11 files changed, 65 insertions(+), 80 deletions(-)

diff --git a/applets/busybox.c b/applets/busybox.c
index c41c350d1..efa4ec72d 100644
--- a/applets/busybox.c
+++ b/applets/busybox.c
@@ -72,6 +72,9 @@ static const struct Applet applets[] = {
 #ifdef BB_INIT			//sbin
     {"init", init_main},
 #endif
+#ifdef BB_FEATURE_LINUXRC	//
+    {"linuxrc", init_main},
+#endif
 #ifdef BB_KILL			//bin
     {"kill", kill_main},
 #endif
diff --git a/applets/busybox.sh b/applets/busybox.sh
index 6e448dc65..cab248f11 100755
--- a/applets/busybox.sh
+++ b/applets/busybox.sh
@@ -1,4 +1,4 @@
 #!/bin/sh
-sed -n '/^#define/{s/.*BB_//; s/$/.o/p; }' busybox.def.h | \
-tr [:upper:] [:lower:]
+ls -1 `sed -n '/^#define/{s/.*BB_// ; s/$/.c/p; }' busybox.def.h | \
+tr [:upper:] [:lower:]` 2> /dev/null | sed -e 's/\.c$/\.o/g'
 
diff --git a/applets/install.sh b/applets/install.sh
index 29c9e26d9..5f0d2d5da 100755
--- a/applets/install.sh
+++ b/applets/install.sh
@@ -6,17 +6,20 @@ if [ "$1" == "" ]; then
     echo "No installation directory, aborting."
     exit 1;
 fi
+rm -rf $1
 
-# can't just use cat, rmdir is not unique
-#h=`cat busybox.links`
 h=`sort busybox.links | uniq`
 
-mkdir -p $1/bin
 for i in $h ; do
-	[ ${verbose} ] && echo "  making link to $i"
-	mkdir -p $1/`echo $i | sed -e 's/\(^.*\/\)\(.*\)/\1/g' `
-	ln -s busybox $1/bin/`echo $i | sed -e 's/\(^.*\/\)\(.*\)/\2/g' `
+	echo "working on $i now"
+	mypath=`echo $i | sed -e 's/\(^.*\/\)\(.*\)/\1/g' `;
+	myapp=`echo $i | sed -e 's/\(^.*\/\)\(.*\)/\2/g' `;
+	echo "mkdir -p $1$mypath"
+	echo "(cd $1$mypath ; ln -s /bin/busybox $1$mypath$myapp )"
+	mkdir -p $1$mypath
+	(cd $1$mypath ; ln -s /bin/busybox $1$mypath$myapp )
 done
 rm -f $1/bin/busybox
 install -m 755 busybox $1/bin/busybox
 
+
diff --git a/busybox.c b/busybox.c
index c41c350d1..efa4ec72d 100644
--- a/busybox.c
+++ b/busybox.c
@@ -72,6 +72,9 @@ static const struct Applet applets[] = {
 #ifdef BB_INIT			//sbin
     {"init", init_main},
 #endif
+#ifdef BB_FEATURE_LINUXRC	//
+    {"linuxrc", init_main},
+#endif
 #ifdef BB_KILL			//bin
     {"kill", kill_main},
 #endif
diff --git a/busybox.def.h b/busybox.def.h
index c20650f86..fcdd66e37 100644
--- a/busybox.def.h
+++ b/busybox.def.h
@@ -64,3 +64,14 @@
 // Don't turn BB_UTILITY off.  It contains support code 
 // that compiles to 0 if everything else if turned off.
 #define BB_UTILITY
+//
+//This is where feature definitions go.
+#define BB_FEATURE_LINUXRC
+/* Turning this off makes things a bit smaller (and less pretty) */
+#define BB_FEATURE_USE_TERMIOS
+/* Turning this off makes things a bit smaller (and less pretty) */
+#define BB_FEATURE_AUTOWIDTH
+
+
+
+
diff --git a/busybox.sh b/busybox.sh
index 6e448dc65..cab248f11 100755
--- a/busybox.sh
+++ b/busybox.sh
@@ -1,4 +1,4 @@
 #!/bin/sh
-sed -n '/^#define/{s/.*BB_//; s/$/.o/p; }' busybox.def.h | \
-tr [:upper:] [:lower:]
+ls -1 `sed -n '/^#define/{s/.*BB_// ; s/$/.c/p; }' busybox.def.h | \
+tr [:upper:] [:lower:]` 2> /dev/null | sed -e 's/\.c$/\.o/g'
 
diff --git a/coreutils/dd.c b/coreutils/dd.c
index 39c6a6263..64948571c 100644
--- a/coreutils/dd.c
+++ b/coreutils/dd.c
@@ -32,6 +32,7 @@
 #include <stdio.h>
 #include <fcntl.h>
 #include <errno.h>
+#include <inttypes.h>
 
 static const char dd_usage[] =
 "dd [if=name] [of=name] [bs=n] [count=n]\n\n"
@@ -92,27 +93,20 @@ static long getNum (const char *cp)
 
 extern int dd_main (int argc, char **argv)
 {
-    const char *inFile;
-    const char *outFile;
+    const char *inFile = NULL;
+    const char *outFile = NULL;
     char *cp;
     int inFd;
     int outFd;
     int inCc = 0;
     int outCc;
-    int skipBlocks;
-    int blockSize;
-    long count;
-    long intotal;
-    long outTotal;
+    size_t blockSize = 512;
+    //uintmax_t skipBlocks = 0;
+    uintmax_t count = (uintmax_t)-1;
+    uintmax_t intotal;
+    uintmax_t outTotal;
     unsigned char *buf;
 
-    inFile = NULL;
-    outFile = NULL;
-    blockSize = 512;
-    skipBlocks = 0;
-    count = 1;
-
-
     argc--;
     argv++;
 
@@ -125,14 +119,14 @@ extern int dd_main (int argc, char **argv)
 	else if (strncmp("count", *argv, 5) == 0) {
 	    count = getNum ((strchr(*argv, '='))+1);
 	    if (count <= 0) {
-		fprintf (stderr, "Bad count value %ld\n", count);
+		fprintf (stderr, "Bad count value %s\n", *argv);
 		goto usage;
 	    }
 	}
 	else if (strncmp(*argv, "bs", 2) == 0) {
 	    blockSize = getNum ((strchr(*argv, '='))+1);
 	    if (blockSize <= 0) {
-		fprintf (stderr, "Bad block size value %d\n", blockSize);
+		fprintf (stderr, "Bad block size value %s\n", *argv);
 		goto usage;
 	    }
 	}
@@ -162,13 +156,8 @@ extern int dd_main (int argc, char **argv)
     intotal = 0;
     outTotal = 0;
 
-    if (inFile == NULL) {
-	struct stat statBuf;
+    if (inFile == NULL)
 	inFd = fileno(stdin);
-	if (fstat(inFd, &statBuf) < 0)
-	    exit( FALSE);
-	count = statBuf.st_size;
-    }
     else
 	inFd = open (inFile, 0);
 
@@ -227,9 +216,9 @@ extern int dd_main (int argc, char **argv)
     close (outFd);
     free (buf);
 
-    printf ("%ld+%d records in\n", intotal / blockSize,
+    printf ("%ld+%d records in\n", (long)(intotal / blockSize),
 	    (intotal % blockSize) != 0);
-    printf ("%ld+%d records out\n", outTotal / blockSize,
+    printf ("%ld+%d records out\n", (long)(outTotal / blockSize),
 	    (outTotal % blockSize) != 0);
     exit( TRUE);
   usage:
diff --git a/dd.c b/dd.c
index 39c6a6263..64948571c 100644
--- a/dd.c
+++ b/dd.c
@@ -32,6 +32,7 @@
 #include <stdio.h>
 #include <fcntl.h>
 #include <errno.h>
+#include <inttypes.h>
 
 static const char dd_usage[] =
 "dd [if=name] [of=name] [bs=n] [count=n]\n\n"
@@ -92,27 +93,20 @@ static long getNum (const char *cp)
 
 extern int dd_main (int argc, char **argv)
 {
-    const char *inFile;
-    const char *outFile;
+    const char *inFile = NULL;
+    const char *outFile = NULL;
     char *cp;
     int inFd;
     int outFd;
     int inCc = 0;
     int outCc;
-    int skipBlocks;
-    int blockSize;
-    long count;
-    long intotal;
-    long outTotal;
+    size_t blockSize = 512;
+    //uintmax_t skipBlocks = 0;
+    uintmax_t count = (uintmax_t)-1;
+    uintmax_t intotal;
+    uintmax_t outTotal;
     unsigned char *buf;
 
-    inFile = NULL;
-    outFile = NULL;
-    blockSize = 512;
-    skipBlocks = 0;
-    count = 1;
-
-
     argc--;
     argv++;
 
@@ -125,14 +119,14 @@ extern int dd_main (int argc, char **argv)
 	else if (strncmp("count", *argv, 5) == 0) {
 	    count = getNum ((strchr(*argv, '='))+1);
 	    if (count <= 0) {
-		fprintf (stderr, "Bad count value %ld\n", count);
+		fprintf (stderr, "Bad count value %s\n", *argv);
 		goto usage;
 	    }
 	}
 	else if (strncmp(*argv, "bs", 2) == 0) {
 	    blockSize = getNum ((strchr(*argv, '='))+1);
 	    if (blockSize <= 0) {
-		fprintf (stderr, "Bad block size value %d\n", blockSize);
+		fprintf (stderr, "Bad block size value %s\n", *argv);
 		goto usage;
 	    }
 	}
@@ -162,13 +156,8 @@ extern int dd_main (int argc, char **argv)
     intotal = 0;
     outTotal = 0;
 
-    if (inFile == NULL) {
-	struct stat statBuf;
+    if (inFile == NULL)
 	inFd = fileno(stdin);
-	if (fstat(inFd, &statBuf) < 0)
-	    exit( FALSE);
-	count = statBuf.st_size;
-    }
     else
 	inFd = open (inFile, 0);
 
@@ -227,9 +216,9 @@ extern int dd_main (int argc, char **argv)
     close (outFd);
     free (buf);
 
-    printf ("%ld+%d records in\n", intotal / blockSize,
+    printf ("%ld+%d records in\n", (long)(intotal / blockSize),
 	    (intotal % blockSize) != 0);
-    printf ("%ld+%d records out\n", outTotal / blockSize,
+    printf ("%ld+%d records out\n", (long)(outTotal / blockSize),
 	    (outTotal % blockSize) != 0);
     exit( TRUE);
   usage:
diff --git a/install.sh b/install.sh
index 29c9e26d9..5f0d2d5da 100755
--- a/install.sh
+++ b/install.sh
@@ -6,17 +6,20 @@ if [ "$1" == "" ]; then
     echo "No installation directory, aborting."
     exit 1;
 fi
+rm -rf $1
 
-# can't just use cat, rmdir is not unique
-#h=`cat busybox.links`
 h=`sort busybox.links | uniq`
 
-mkdir -p $1/bin
 for i in $h ; do
-	[ ${verbose} ] && echo "  making link to $i"
-	mkdir -p $1/`echo $i | sed -e 's/\(^.*\/\)\(.*\)/\1/g' `
-	ln -s busybox $1/bin/`echo $i | sed -e 's/\(^.*\/\)\(.*\)/\2/g' `
+	echo "working on $i now"
+	mypath=`echo $i | sed -e 's/\(^.*\/\)\(.*\)/\1/g' `;
+	myapp=`echo $i | sed -e 's/\(^.*\/\)\(.*\)/\2/g' `;
+	echo "mkdir -p $1$mypath"
+	echo "(cd $1$mypath ; ln -s /bin/busybox $1$mypath$myapp )"
+	mkdir -p $1$mypath
+	(cd $1$mypath ; ln -s /bin/busybox $1$mypath$myapp )
 done
 rm -f $1/bin/busybox
 install -m 755 busybox $1/bin/busybox
 
+
diff --git a/more.c b/more.c
index 7fbca2317..821427dda 100644
--- a/more.c
+++ b/more.c
@@ -24,14 +24,6 @@
  *
  */
 
-
-/* Turning this off makes things a bit smaller (and less pretty) */
-#define BB_FEATURE_USE_TERMIOS
-/* Turning this off makes things a bit smaller (and less pretty) */
-#define BB_FEATURE_AUTOWIDTH
-
-
-
 #include "internal.h"
 #include <stdio.h>
 #include <fcntl.h>
diff --git a/util-linux/more.c b/util-linux/more.c
index 7fbca2317..821427dda 100644
--- a/util-linux/more.c
+++ b/util-linux/more.c
@@ -24,14 +24,6 @@
  *
  */
 
-
-/* Turning this off makes things a bit smaller (and less pretty) */
-#define BB_FEATURE_USE_TERMIOS
-/* Turning this off makes things a bit smaller (and less pretty) */
-#define BB_FEATURE_AUTOWIDTH
-
-
-
 #include "internal.h"
 #include <stdio.h>
 #include <fcntl.h>
-- 
cgit v1.2.3-55-g6feb