summaryrefslogtreecommitdiff
path: root/usr/src/cmd/dd/dd.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/cmd/dd/dd.c')
-rw-r--r--usr/src/cmd/dd/dd.c30
1 files changed, 27 insertions, 3 deletions
diff --git a/usr/src/cmd/dd/dd.c b/usr/src/cmd/dd/dd.c
index ad357a5fd0..75caccbeac 100644
--- a/usr/src/cmd/dd/dd.c
+++ b/usr/src/cmd/dd/dd.c
@@ -23,13 +23,12 @@
/*
* Copyright 2005 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
+ * Copyright 2012, Josef 'Jeff' Sipek <jeffpc@31bits.net>. All rights reserved.
*/
/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
/* All Rights Reserved */
-#pragma ident "%Z%%M% %I% %E% SMI"
-
/*
* convert and copy
*/
@@ -1642,7 +1641,8 @@ true:
/* Arg: big - maximum valid input number */
/* Global arg: string - pointer to command arg */
/* */
-/* Valid forms: 123 | 123k | 123w | 123b | 123*123 | 123x123 */
+/* Valid forms: 123 | 123k | 123M | 123G | 123T | 123P | 123E | 123Z | */
+/* 123w | 123b | 123*123 | 123x123 */
/* plus combinations such as 2b*3kw*4w */
/* */
/* Return: converted number */
@@ -1668,6 +1668,30 @@ long long big;
switch (*cs++)
{
+ case 'Z':
+ n *= 1024;
+ /* FALLTHROUGH */
+
+ case 'E':
+ n *= 1024;
+ /* FALLTHROUGH */
+
+ case 'P':
+ n *= 1024;
+ /* FALLTHROUGH */
+
+ case 'T':
+ n *= 1024;
+ /* FALLTHROUGH */
+
+ case 'G':
+ n *= 1024;
+ /* FALLTHROUGH */
+
+ case 'M':
+ n *= 1024;
+ /* FALLTHROUGH */
+
case 'k':
n *= 1024;
continue;