You might want to check your manuals again, Megan - for
the past two
decades that I've been doing RT-11 programming, the month field in the
date word *does* run 1-12, not 0-11. (Actually, 0-11 would make
more sense since you're almost always using it as an index into a
table of month names...)
Good catch... After 25 years of RT user/developer/user time, you would
think I would get it right all the time... :-) That's why I write the
code to do the right thing to begin with.. so I don't have to worry
about it later... :-)
The bottom line is that since the year can be zero, you use a field
of the date word which cannot be zero in a valid date (and if you want
to completely validate it, you check to see if each field is in the
allowable range). The point being that the fact that 1972 was not
allowed by the date command when it truly was a valid RT year is
a bug, not the official 'legal' limits to years as Jerome had
mentioned.
And, of course, the CSI command lines generally expect
RAD50 constants
for months, not numbers, so you can generally type
...
004322 instead of APR
...
Note that octal 004322 = decimal 2258. So some fixes are going
to happen in the future with date parsing if one wants to be sure not
to confuse 'APR' with the year '2258' :-).
Yep, I remember noting this when I was working on my copy of RT, but
it wasn't a problem within the RT epoch of 1972-2099... so...
There are some other funny things with year parsing in
CSI command lines
that have been around since the mid 70's. In particular, most of the
RT-11 utilities used to (that is, prior to 5.7) take as legal years
59 through 63 decimal. Convert these to octal, and you see they
are represented as 73 through 77. This way, if you forgot the decimal
point on a CSI command line in specifying a year in the range 73-77,
the utility "fixed it up" for you with the "do what I mean" operator
:-).
It's a cute trick, but it doesn't work from 1980 through 1999 because
8 and 9 aren't legal octal digits... and it wasn't reimplemented for
4 digit years in the range of 2000-2007.
It's not a cute trick, it is an *ugly* hack, since it tries to account
for someone's bad typing... (personal opinion)
Megan Gentry
Former RT-11 Developer
+--------------------------------+-------------------------------------+
| Megan Gentry, EMT/B, PP-ASEL | Internet (work):
gentry!zk3.dec.com |
| Unix Support Engineering Group | (home):
mbg!world.std.com |
| Compaq Computer Corporation | addresses need '@' in place of '!' |
| 110 Spitbrook Rd. ZK03-2/T43 | URL:
http://world.std.com/~mbg/ |
| Nashua, NH 03062 | "pdp-11 programmer - some assembler |
| (603) 884 1055 | required." - mbg |
+--------------------------------+-------------------------------------+