Well, it's not POSIX, but from what I can see nor are 'm' or 'w'.

I think if we do this we should do it consistently, so accept 'B' and
'W' and 'X' as well.

Otherwise I can't see this doing any harm. Anyone else?


On Sat, Oct 08, 2011 at 03:13:14PM +0200, Thomas Pfaff wrote:
> > Simple patch to allow uppercase size modifiers (K, M, and G).
> 
> I know this is not the most important thing in the world, but this
> annoys me so I'm going to give it one last shot:
> 
> can somebody please give me one reason why this should not go in?
> 
> Look, when you ask various tools to display human-readable output
> they do so using /uppercase/ characters.  Examples are disklabel,
> bioctl, ls, df, du, and wc.  The fdisk and disklabel editors both
> accept uppercase letters and so does newfs.
> 
> Why must dd be different?
> 
> Something about the rule of least surprise comes to mind ...
> 
> > Index: args.c
> > ===================================================================
> > RCS file: /cvs/src/bin/dd/args.c,v
> > retrieving revision 1.18
> > diff -u -p -r1.18 args.c
> > --- args.c  27 Oct 2009 23:59:21 -0000      1.18
> > +++ args.c  2 Oct 2011 18:04:34 -0000
> > @@ -341,6 +341,7 @@ get_bsz(char *val)
> >             ++expr;
> >             break;
> >     case 'k':
> > +   case 'K':
> >             t = num;
> >             num *= 1024;
> >             if (t > num)
> > @@ -348,6 +349,7 @@ get_bsz(char *val)
> >             ++expr;
> >             break;
> >     case 'm':
> > +   case 'M':
> >             t = num;
> >             num *= 1048576;
> >             if (t > num)
> > @@ -411,6 +413,7 @@ get_off(char *val)
> >             ++expr;
> >             break;
> >     case 'k':
> > +   case 'K':
> >             t = num;
> >             num *= 1024;
> >             if (t > num)
> > @@ -418,6 +421,7 @@ get_off(char *val)
> >             ++expr;
> >             break;
> >     case 'm':
> > +   case 'M':
> >             t = num;
> >             num *= 1048576;
> >             if (t > num)

Reply via email to