work in progress...
[oweals/busybox.git] / dd.c
diff --git a/dd.c b/dd.c
index a2dc1c396917e5f8e94cdc793c51e686c3e4bef6..bc01eedbfaab9e4dfc5df26387ac05ae3dcdc3b9 100644 (file)
--- a/dd.c
+++ b/dd.c
@@ -33,7 +33,7 @@
 #include <stdio.h>
 #include <fcntl.h>
 #include <errno.h>
-#if (__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1)
+#if (__GLIBC__ >= 2) && (__GLIBC_MINOR__ >= 1)
 #include <inttypes.h>
 #else
 typedef unsigned long long int uintmax_t;
@@ -48,54 +48,10 @@ static const char dd_usage[] =
 "\tcount=n\tcopy only n input blocks\n"
 //"\tskip=n\tskip n input blocks\n"
 "\n"
-"BYTES may be suffixed: by k for x1024, b for x512, and w for x2.\n";
+"BYTES may be suffixed by w (x2), k (x1024), b (x512), or m (x1024^2).\n";
 
 
 
-
-/*
- * Read a number with a possible multiplier.
- * Returns -1 if the number format is illegal.
- */
-static long getNum (const char *cp)
-{
-    long value;
-
-    if (!isDecimal (*cp))
-       return -1;
-
-    value = 0;
-
-    while (isDecimal (*cp))
-       value = value * 10 + *cp++ - '0';
-
-    switch (*cp++) {
-    case 'k':
-       value *= 1024;
-       break;
-
-    case 'b':
-       value *= 512;
-       break;
-
-    case 'w':
-       value *= 2;
-       break;
-
-    case '\0':
-       return value;
-
-    default:
-       return -1;
-    }
-
-    if (*cp)
-       return -1;
-
-    return value;
-}
-
-
 extern int dd_main (int argc, char **argv)
 {
     const char *inFile = NULL;
@@ -185,6 +141,10 @@ extern int dd_main (int argc, char **argv)
     }
 
     //lseek(inFd, skipBlocks*blockSize, SEEK_SET);
+    //
+    //TODO: Convert to using fullRead & fullWrite
+    // from utilitity.c
+    //  -Erik
     while (outTotal < count * blockSize) {
        inCc = read (inFd, buf, blockSize);
        if (inCc < 0) {