Subject: du(1) with gigabyte option.
To: None <tech-userlevel@netbsd.org>
From: Mattias Karlsson <keihan@sergei.cc>
List: tech-userlevel
Date: 02/18/2003 17:37:33
Just an idea :)

If no screaming I'll commit it later tonight.


// keihan


Index: du.c
===================================================================
RCS file: /cvsroot/src/usr.bin/du/du.c,v
retrieving revision 1.19
diff -u -u -r1.19 du.c
--- du.c    2002/09/28 21:14:03    1.19
+++ du.c    2003/02/17 18:19:52
@@ -80,14 +80,14 @@
      FTSENT *p;
      int64_t totalblocks;
      int ftsoptions, listdirs, listfiles;
-    int Hflag, Lflag, Pflag, aflag, ch, cflag, kmflag, notused, rval, 
sflag;
+    int Hflag, Lflag, Pflag, aflag, ch, cflag, kmgflag, notused, rval, 
sflag;
      char **save;

      save = argv;
-    Hflag = Lflag = Pflag = aflag = cflag = kmflag = sflag = 0;
+    Hflag = Lflag = Pflag = aflag = cflag = kmgflag = sflag = 0;
      totalblocks = 0;
      ftsoptions = FTS_PHYSICAL;
-    while ((ch = getopt(argc, argv, "HLPachkmrsx")) != -1)
+    while ((ch = getopt(argc, argv, "HLPachkmgrsx")) != -1)
          switch (ch) {
          case 'H':
              Hflag = 1;
@@ -112,12 +112,16 @@
              break;
          case 'k':
              blocksize = 1024;
-            kmflag = 1;
+            kmgflag = 1;
              break;
          case 'm':
              blocksize = 1024 * 1024;
-            kmflag = 1;
+            kmgflag = 1;
              break;
+        case 'g':
+            blocksize = 1024 * 1024 * 1024;
+            kmgflag = 1;
+            break;
          case 'r':
              break;
          case 's':
@@ -169,7 +173,7 @@
          argv[1] = NULL;
      }

-    if (!kmflag)
+    if (!kmgflag)
          (void)getbsize(&notused, &blocksize);
      blocksize /= 512;

@@ -275,6 +279,6 @@
  {

      (void)fprintf(stderr,
-        "usage: du [-H | -L | -P] [-a | -s] [-chkmrx] [file ...]\n");
+        "usage: du [-H | -L | -P] [-a | -s] [-chkmgrx] [file ...]\n");
      exit(1);
  }
Index: du.1
===================================================================
RCS file: /cvsroot/src/usr.bin/du/du.1,v
retrieving revision 1.14
diff -u -u -r1.14 du.1
--- du.1    2002/09/27 07:18:16    1.14
+++ du.1    2003/02/17 18:19:52
@@ -90,6 +90,11 @@
  .Fl m
  flag is specified, the number displayed is the number of megabyte
  (1024*1024 bytes) blocks.
+.It Fl g
+If the
+.Fl g
+flag is specified, the number displayed is the number of gigabyte
+(1024*1024*1024 bytes) blocks.
  .It Fl r
  Generate warning messages about directories that cannot be read.
  This is the default behaviour.



-- 
Mattias Karlsson
mattias.karlsson@sergei.cc
SysAdm - http://www.sergei.cc/