Hi all,
There is an overwhelming majority of respondents that favor KB and MB to be
base 2 rather than base 10. That is, 1KB = 2**10, 1MB = 2**20.
Consider it done.
There are several people who think that supplying both KB and MB on the
same line (,20 output) is redundant and wasteful. Still under
consideration. My thinking is that R/B and extent info aren't that
useful and having both KB and MB allows one to easily scan for large files
and get accurate byte sizes at the same time. I don't like the commas
since these values can't be used as input in any CI command, nor
in Pascal's strwrite(), nor in the BINARY() and DBINARY() intrinsics, nor
in C's atoi() [not tested so this is a guess] etc. I was also trying
to avoid a decimal point in MB for the same reasons. An argument against my
logic is that KB and MB units are also not accepted as input by any
CI command, although these numbers can be parsed by the above mentioned APIs.
Re. output format 10: it comes nearly for free once we code format 20.
However, there is still a testing, documentation and on-going support
cost associated with format 10. (Remember format 10 is ,1 output shifted
right a few bytes to accomodate large file eof and limits.) So, is the new
format 10 worth implementing?
Summary of changes:
- listf,1 and ,2 will display all asterisks if the data doesn't fit a field
- 2 new output formats, 10 ("Lsummary") and 20 ("Ldisc")
[ ,10 may be dropped ]
- r/b and extent info dropped from ,20 output
- room for one extra digit for record width
- no commas in numbers (although I am considering user-defined outputs with
edits that would support commas)
- k-bytes and M-bytes numbers are base 2 not base 10.
- if a file uses any disk space its KB and MB values will not be 0.
(better to overstate disk usage than to understate it)
- mathematical rounding used where needed, except if it breaks the rule above.
<<<<<<<<<<< New Output Formats >>>>>>>>>>>>>
:listf @,10 /* do you really need this?? */
ACCOUNT= SYS GROUP= OTHER
FILENAME CODE ------------LOGICAL RECORD------------
SIZE TYP EOF LIMIT
LARGE 80B FA 500 1234567890
LARGE1 80B FA 12345678902 12345678902
L2345678* AAAAA 999999W FBxx 999999999999 999999999999
:listf @,20
ACCOUNT= SYS GROUP= OTHER
FILENAME CODE ------------LOGICAL RECORD------------ -------SPACE-------
SIZE TYP EOF LIMIT K BYTES M BYTES
LARGE 80B FA 500 1234567890 40 1
LARGE1 80B FA 12345678902 12345678902 987654313 987655
L2345678* AAAAA 999999W FBxx 999999999999 999999999999 9999999999 99999999
:listfile ./@,10 (or "Lsummary")
PATH= /SYS/OTHER/
CODE ------------LOGICAL RECORD------------ FILENAME
SIZE TYP EOF LIMIT
80B FA 500 1234567890 LARGE
80B FA 12345678902 12345678902 LARGE1
AAAAA 999999W FBxx 999999999999 999999999999 *L2345678
:listfile ./@,20 (or "Ldisc")
PATH= /SYS/OTHER/
CODE ------------LOGICAL RECORD------------ -------SPACE------- FILENAME
SIZE TYP EOF LIMIT K BYTES M BYTES
80B FA 500 1234567890 40 1 LARGE
80B FA 12345678902 12345678902 987654313 987655 LARGE1
AAAAA 999999W FBxx 999999999999 999999999999 9999999999 9999999 *L2345678
Thanks again,
Jeff Vance, CSY
--
|