Hi

>    OK. Here we go.
>
> Make it an option, and it might just be usefull.  Changing the default
> is silly since most files tend to be far smaller than 1GB, and this
> just wastes precious space on the screen.  Would you like to do this?
>
> You could look at the some of the output formating switches to see how
> it is done for similar things.

Here we go. again.




Bis denn

-- 
Real Programmers consider "what you see is what you get" to be just as
bad a concept in Text Editors as it is in women. No, the Real Programmer
wants a "you asked for it, you got it" text editor -- complicated,
cryptic, powerful, unforgiving, dangerous.

--- src/ls.c-vanilla    Thu Jan 16 15:44:34 2003
+++ src/ls.c    Thu Jan 16 16:15:01 2003
@@ -483,6 +483,10 @@
 
 static enum indicator_style indicator_style;
 
+/* Nonzero means use a bigger column for filesize -e */
+
+static int broader_sizes = 0;
+
 /* Names of indicator styles.  */
 static char const *const indicator_style_args[] =
 {
@@ -672,6 +676,7 @@
   {"escape", no_argument, 0, 'b'},
   {"directory", no_argument, 0, 'd'},
   {"dired", no_argument, 0, 'D'},
+  {"broader-sizes", no_argument, 0, 'e'},
   {"full-time", no_argument, 0, FULL_TIME_OPTION},
   {"human-readable", no_argument, 0, 'h'},
   {"inode", no_argument, 0, 'i'},
@@ -1076,7 +1081,7 @@
     }
 
   while ((c = getopt_long (argc, argv,
-                          "abcdfghiklmnopqrstuvw:xABCDFGHI:LNQRST:UX1",
+                          "abcdefghiklmnopqrstuvw:xABCDFGHI:LNQRST:UX1",
                           long_options, NULL)) != -1)
     {
       switch (c)
@@ -1101,6 +1106,10 @@
          immediate_dirs = 1;
          break;
 
+       case 'e':
+         broader_sizes = 1;
+         break;
+
        case 'f':
          /* Same as enabling -a -U and disabling -l -s.  */
          all_files = 1;
@@ -2529,9 +2538,18 @@
   else
     {
       char hbuf[LONGEST_HUMAN_READABLE + 1];
-      sprintf (p, "%8s ",
-              human_readable ((uintmax_t) f->stat.st_size, hbuf, 1,
-                              output_block_size < 0 ? output_block_size : 1));
+      if (!broader_sizes)
+       {
+         sprintf (p, "%8s ",
+                  human_readable ((uintmax_t) f->stat.st_size, hbuf, 1,
+                                  output_block_size < 0 ? output_block_size : 1));
+       }
+      else
+       {
+         sprintf (p, "%12s ",
+                  human_readable ((uintmax_t) f->stat.st_size, hbuf, 1,
+                                  output_block_size < 0 ? output_block_size : 1));
+       }
     }
 
   p += strlen (p);
@@ -3268,6 +3286,7 @@
                                types.  WHEN may be `never', `always', or `auto'\n\
   -d, --directory            list directory entries instead of contents\n\
   -D, --dired                generate output designed for Emacs' dired mode\n\
+  -e, --broader-sizes        print sizes in a broader column\n\
   -f                         do not sort, enable -aU, disable -lst\n\
   -F, --classify             append indicator (one of */=@|) to entries\n\
       --format=WORD          across -x, commas -m, horizontal -x, long -l,\n\
--- man/ls.1-vanilla    Thu Jan 16 16:06:03 2003
+++ man/ls.1    Thu Jan 16 16:15:29 2003
@@ -45,6 +45,9 @@
 \fB\-D\fR, \fB\-\-dired\fR
 generate output designed for Emacs' dired mode
 .TP
+\fB\-e\fR, \fB\-\-broader\-sizes\fR
+print sizes in a broader column
+.TP
 \fB\-f\fR
 do not sort, enable \fB\-aU\fR, disable \fB\-lst\fR
 .TP
--- src/du.c-vanilla    Thu Jan 16 15:44:38 2003
+++ src/du.c    Thu Jan 16 16:14:35 2003
@@ -140,6 +140,9 @@
    if negative, the human-readable base.  */
 static int output_block_size;
 
+/* Nonzero means use a broader column for sizes -e */
+static int broader_sizes = 0;
+
 /* Accumulated path for file or directory being processed.  */
 static String *path;
 
@@ -173,6 +176,7 @@
   {"all", no_argument, NULL, 'a'},
   {"block-size", required_argument, 0, BLOCK_SIZE_OPTION},
   {"bytes", no_argument, NULL, 'b'},
+  {"broader-sizes", no_argument, NULL, 'e'},
   {"count-links", no_argument, NULL, 'l'},
   {"dereference", no_argument, NULL, 'L'},
   {"dereference-args", no_argument, NULL, 'D'},
@@ -209,6 +213,7 @@
   -b, --bytes           print size in bytes\n\
   -c, --total           produce a grand total\n\
   -D, --dereference-args  dereference PATHs when symbolic link\n\
+  -e, --broader-sizes   print sizes in a broader column\n\
   -h, --human-readable  print sizes in human readable format (e.g., 1K 234M 2G)\n\
   -H, --si              likewise, but use powers of 1000 not 1024\n\
   -k, --kilobytes       like --block-size=1024\n\
@@ -300,11 +305,21 @@
 print_size (uintmax_t n_blocks, const char *string)
 {
   char buf[LONGEST_HUMAN_READABLE + 1];
-  printf ("%s\t%s\n",
-         human_readable_inexact (n_blocks, buf, ST_NBLOCKSIZE,
-                                 output_block_size, human_ceiling),
-         string);
-  fflush (stdout);
+  if (broader_sizes)
+    {
+      printf ("%-12s%s\n",
+             human_readable_inexact (n_blocks, buf, ST_NBLOCKSIZE,
+                                     output_block_size, human_ceiling),
+             string);
+    }
+  else
+    {
+      printf ("%s\t%s\n",
+             human_readable_inexact (n_blocks, buf, ST_NBLOCKSIZE,
+                                     output_block_size, human_ceiling),
+             string);
+      fflush (stdout);
+    }
 }
 
 /* Reset the hash structure in the global variable `htab' to
@@ -668,7 +683,7 @@
 
   human_block_size (getenv ("DU_BLOCK_SIZE"), 0, &output_block_size);
 
-  while ((c = getopt_long (argc, argv, "abchHklmsxDLSX:", long_options, NULL))
+  while ((c = getopt_long (argc, argv, "abcehHklmsxDLSX:", long_options, NULL))
         != -1)
     {
       long int tmp_long;
@@ -689,6 +704,10 @@
          print_totals = 1;
          break;
 
+       case 'e':
+         broader_sizes = 1;
+         break;
+
        case 'h':
          output_block_size = -1024;
          break;
--- man/du.1-vanilla    Thu Jan 16 16:05:58 2003
+++ man/du.1    Thu Jan 16 16:15:25 2003
@@ -24,6 +24,9 @@
 \fB\-D\fR, \fB\-\-dereference\-args\fR
 dereference PATHs when symbolic link
 .TP
+\fB\-e\fR, \fB\-\-border\-sizes\fR
+print sizes in a broader column
+.TP
 \fB\-h\fR, \fB\-\-human\-readable\fR
 print sizes in human readable format (e.g., 1K 234M 2G)
 .TP
--- ChangeLog-vanilla   Sun Apr 29 13:33:43 2001
+++ ChangeLog   Thu Jan 16 16:19:35 2003
@@ -1,3 +1,13 @@
+2003-01-19  Matthias Schniedermeyer  <[EMAIL PROTECTED]>
+
+       * src/ls.c: Added option for broader sizes
+
+       * man/ls.1: Added option for broader sizes
+
+       * src/du.c: Added option for broader sizes
+
+       * man/du.1: Added option for broader sizes
+
 2001-04-29  Jim Meyering  <[EMAIL PROTECTED]>
 
        * Version 4.1.
_______________________________________________
Bug-fileutils mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-fileutils

Reply via email to