Received: (from major@localhost)
	by minnie.cs.adfa.edu.au (8.9.3/8.9.3) id PAA01223
	for pups-liszt; Mon, 24 Jan 2000 15:48:16 +1100 (EST)
Received: from henry.cs.adfa.edu.au (henry.cs.adfa.edu.au [131.236.21.158])
	by minnie.cs.adfa.edu.au (8.9.3/8.9.3) with ESMTP id PAA01219
	for <pups@minnie.cs.adfa.edu.au>; Mon, 24 Jan 2000 15:48:08 +1100 (EST)
Received: (from wkt@localhost)
	by henry.cs.adfa.edu.au (8.9.2/8.9.3) id PAA02810
	for pups@minnie.cs.adfa.edu.au; Mon, 24 Jan 2000 15:48:08 +1100 (EST)
Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6])
	by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id UAA66609
	for <wkt@henry.cs.adfa.edu.au>; Sat, 22 Jan 2000 20:35:58 +1100 (EST)
Received: from amber.rnd.runnet.ru (amber.rnd.runnet.ru [195.208.252.10])
	by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with ESMTP id UAA03577
	for <wkt@cs.adfa.edu.au>; Sat, 22 Jan 2000 20:30:42 +1100 (EST)
Received: from uic.rnd.runnet.ru (bio-404.math.rsu.ru [195.208.253.52])
	by amber.rnd.runnet.ru (8.9.3/8.9.1) with ESMTP id MAA49705
	for <wkt@cs.adfa.edu.au>; Sat, 22 Jan 2000 12:30:04 +0300 (MSK)
Message-ID: <388977B9.34055CD2@uic.rnd.runnet.ru>
Date: Sat, 22 Jan 2000 12:26:17 +0300
From: Alexey Chupahin <achupahi@uic.rsu.ru>
X-Mailer: Mozilla 4.03 [en] (Win95; I)
MIME-Version: 1.0
To: wkt@cs.adfa.edu.au
Subject: Re: Y2k for Unix
References: <200001210318.OAA54327@henry.cs.adfa.edu.au>
Content-Type: multipart/mixed; boundary="------------90BE4CF16FBE20924D142256"
Sender: owner-pups@minnie.cs.adfa.edu.au
Precedence: bulk

This is a multi-part message in MIME format.
--------------90BE4CF16FBE20924D142256
Content-Type: text/plain; charset=koi8-r
Content-Transfer-Encoding: 7bit

Hello Warren,

I make date2 program now for BSD and Venix. I just send it for you.
This is not best program, only Beta version. Please note me if you find bugs.
To working, it calculates JD time, so algorithm is not best, it requires floating
instructions. JD time is very useful for Astronomicals (my second hobby is
Astronomy).
Other  thing - ctime use local time, while stime Grinvich time, if  I remember.
So you may need to add a number of  hours to into the source string to see exact
time you entered:
Time=Time*3600L*24 + (hour+4)*3600L + minutes*60 + sec;
                                                   ^

Venix was partically Y2k. I test "find" command with date2 and find (sillogizme!)
it fine.:-).
Seems, Venix with new date2 is full Y2k now.
But BSD and other systems may have a number of non Y2k utilites. I don't like
BSD's ls program for example. It seems work correctly, but I wish to test it
again.
The one way is to copy executable ls from Venix, it works fine on BSD or other way
- I may fix  ls sources and recompile it.

I'm making Y2k features ( that is hardly then for Unix ) for DEC RT-11.
To make this, I use better algorithm to calculate time and better interface, and
if you are interested, I'll port it to Unix too.

I'd like to port Y2k features into Unix 6,7 ,but unfortunatly, it is very
difficult
to use "ed" for me. :-) And I don't know how to put files into Unix 6 RL disk - it
hasn't
"tar".

May be, we can do well-organized work to prepeare old Unix system to use in
21Centure?
We can make full test all utilites for all versions and fix bugs to make Unixes as
Y2k ready-to-use systems?

Alexey

P.S. I send you date2.c - sources and executable date2 for BSD and Venix both.
To use it, one can copy date2 into /usr/bin or replace old standard unuseful
/bin/date
Usage:
$date2 year month day [hour min [sec]]

for example:

$date 2000    1        22   12    15
            ^        ^          ^     ^       ^
           year month    day hour min

date2 without arguments prints date and time.


--
IC~XC  NI~KA
+------------------------+
| "I WAS     living,     |
|  I AM      living and  |
|  I WILL BE living!"    |
|                        |
|         DEC PDP-11...  |
+------------------------+


--------------90BE4CF16FBE20924D142256
Content-Type: application/octet-stream; name="Date2"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="Date2"

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
cmFsAAIAZARjaGFyYWMAAAIAPgVzdHJpbmcAAAIAUAVsb25nb3J1bgIAdAR1bnNpZ25lZAIA
vARyZW1vdGUAAAIAmgVsb25nAAAAAAIAwARsb2N0AAAAAAIAngRsaGV4AAAAAAIAqgRsdW5z
aWduZQIA0gRjb21wdXRlAAIA2gRudWxzdHIAAAMAnhVwcnN0cgAAAAIApgVnY3Z0Lm8AAB8A
CAZ+Z2N2dAAAAAIACAZudW1iZXIAAAEABABuZGlnaXQAAAEADABidWYAAAAAAAEADgBzaWdu
AAAAAAEA+P9kZWNwdAAAAAEA9v9wMQAAAAAAABQABABwMgAAAAAAABQAAwBpAAAAAAAAABQA
AgBzdHJvdXQubx8ARAd+X3N0cm91dAIARAdzdHJpbmcAABQABABjb3VudAAAABQAAwBhZGp1
c3QAAAEACABmaWxlAAAAABQAAgBmaWxsY2gAAAEADABmbHNidWYubx8ABAh+X2Zsc2J1ZgIA
BAhjAAAAAAAAAAEABABpb3AAAAAAABQABABiYXNlAAAAABQAAwBuAAAAAAAAABQAAgBybgAA
AAAAAAEA+P9jMQAAAAAAAAEA9v9+ZmZsdXNoAAIA5ghpb3AAAAAAABQABABiYXNlAAAAABQA
AwBuAAAAAAAAABQAAgB+X2NsZWFudQIAOAlpb3AAAAAAABQABAB+ZmNsb3NlAAIAVglpb3AA
AAAAABQABAByAAAAAAAAABQAAwBkYXRhLm8AAB8AuAljdWV4aXQubx8AuAlleGl0AAAAAAEA
AQBhdG9pLm8AAB8Axgl+YXRvaQAAAAIAxglwAAAAAAAAABQABABuAAAAAAAAABQAAwBmAAAA
AAAAABQAAgBjdGltZS5vAB8AJgpfY2J1ZgAAAAQA4hpfZG1zaXplAAMASBZfZGF5dGFiAAMA
YBZ+Y3RpbWUAAAIAJgp0AAAAAAAAAAEABAB+bG9jYWx0aQIAPAp0aW0AAAAAAAEABABkYXlu
bwAAABQABABjdAAAAAAAABQAAwBkYXlsYmVnaRQAAgBkYXlsZW5kAAEA+P9jb3B5dAAAAAEA
9P9zeXN0aW1lAAEA6v9fc3VuZGF5AAIAKAt+c3VuZGF5AAIAKAt0AAAAAAAAABQABABkAAAA
AAAAABQAAwB+Z210aW1lAAIAZgt0aW0AAAAAAAEABABkMAAAAAAAABQABABkMQAAAAAAABQA
AwBobXMAAAAAAAEA9v9kYXkAAAAAAAEA8v90cAAAAAAAABQAAgB4dGltZQAAAAQA/Bp+YXNj
dGltZQIA/gx0AAAAAAAAAAEABABjcAAAAAAAABQABABuY3AAAAAAABQAAwB0cAAAAAAAABQA
AgBfY3RfbnVtYgIA3g1+ZHlzaXplAAIAvg15AAAAAAAAAAEABAB+Y3RfbnVtYgIA3g1jcAAA
AAAAABQABABuAAAAAAAAAAEABgBtYWxsb2Mubx8AKA5fYWxsb2NzAAQADhtfYWxsb2NwAAQA
EhtfYWxsb2N0AAQAFBtfYWxsb2N4AAQAFht+bWFsbG9jAAIAKA5uYnl0ZXMAAAEABABwAAAA
AAAAABQABABxAAAAAAAAABQAAwBudwAAAAAAABQAAgB0ZW1wAAAAAAQAGBt+ZnJlZQAAAAIA
Yg9hcAAAAAAAABQABABwAAAAAAAAABQAAwB+cmVhbGxvYwIAgA9wAAAAAAAAABQABABuYnl0
ZXMAAAEABgBxAAAAAAAAABQAAwBzAAAAAAAAAAEA+P90AAAAAAAAAAEA9v9udwAAAAAAABQA
AgBvbncAAAAAAAEA9P9lY3Z0Lm8AAB8AKhB+ZWN2dAAAAAIAKhBhcmcAAAAAAAEABABuZGln
aXRzAAEADABkZWNwdAAAAAEADgBzaWduAAAAAAEAEABfY3Z0AAAAAAIAdBB+ZmN2dAAAAAIA
UBBhcmcAAAAAAAEABABuZGlnaXRzAAEADABkZWNwdAAAAAEADgBzaWduAAAAAAEAEAB+Y3Z0
AAAAAAIAdBBhcmcAAAAAAAEABABuZGlnaXRzAAEADABkZWNwdAAAAAEADgBzaWduAAAAAAEA
EABlZmxhZwAAAAEAEgByMgAAAAAAABQABABmaQAAAAAAAAEA8v9magAAAAAAAAEA6v9wAAAA
AAAAABQAAwBwMQAAAAAAABQAAgBidWYAAAAAAAQAGhtpc2F0dHkubx8A+BF+aXNhdHR5AAIA
+BFmAAAAAAAAAAEABAB0dHliAAAAAAEA9P9tb2RmMTEubx8AIBJvbmUAAAAAAAEAgEBzdHR5
Lm8AAB8ANBJ+c3R0eQAAAAIANBJmZAAAAAAAAAEABABhcAAAAAAAAAEABgB+Z3R0eQAAAAIA
ThJmZAAAAAAAAAEABABhcAAAAAAAAAEABgBjbG9zZS5vAB8AaBIuY2xvc2UAAAEABgBpb2N0
bC5vAB8AfhIuaW9jdGwAAAEANgBzYnJrLm8AAB8ApBIuYnJlYWsAAAEAEQBuZAAAAAAAAAMA
0hZzdGltZS5vAB8A7hIuc3RpbWUAAAEAGQB0aW1lLm8AAB8ACBMudGltZQAAAAEADQAuZnRp
bWUAAAEAIwB3cml0ZS5vAB8AMhMud3JpdGUAAAEABABjZXJyb3Iubx8AVBNsZGl2Lm8AAB8A
YhNoYXJkbGRpdgIAvBNsbXVsLm8AAB8AHBRscmVtLm8AAB8AQhRoYXJkbHJlbQIAkhRjc3Yu
bwAAAB8A6BRfZXhpdAAAACIAuAlfZW52aXJvbiQA4BpzdGFydAAAACIAAABfbWFpbgAAACIA
PABjc3YAAAAAACIA6BRfdGltZQAAACIACBNfY3RpbWUAACIAJgpfcHJpbnRmACIAmgJfYXRv
aQAAACIAxglfbWpkAAAAACIAzgFsbXVsAAAAACIAHBRfc3RpbWUAACIA7hJjcmV0AAAAACIA
9BRsZGl2AAAAACIAYhNmbHR1c2VkACIAxgJfX2lvYgAAACMAphVfX2RvcHJudCIAvANwZmxv
YXQAACIA5gJwc2NpZW4AACIARgNwZ2VuAAAAACIAxgJfZWN2dAAAACIAKhBfZmN2dAAAACIA
UBBfZ2N2dAAAACIACAZfX3N0cm91dCIARAdfX2Zsc2J1ZiIABAhfd3JpdGUAACIAMhNfaXNh
dHR5ACIA+BFfX3NvYnVmACQA3hZfbWFsbG9jACIAKA5fZmZsdXNoACIA5ghfX2NsZWFudSIA
OAlfZmNsb3NlACIAVglfX2xhc3RidSMARhZfY2xvc2UAACIAaBJfZnJlZQAAACIAYg9fX3Np
YnVmACQA3hhfbG9jYWx0aSIAPApfYXNjdGltZSIA/gxfZnRpbWUAACIAIBNfZ210aW1lACIA
ZgtfZHlzaXplACIAvg1scmVtAAAAACIAQhRfc2JyawAAACIApBJfcmVhbGxvYyIAgA9fbW9k
ZgAAACIAIBJfZ3R0eQAAACIAThJfc3R0eQAAACIANBJfaW9jdGwAACIAfhJjZXJyb3IAACIA
VBNfYnJrAAAAACIAzhJfZW5kAAAAACQAahtfZXJybm8AACQA3ho=
--------------90BE4CF16FBE20924D142256
Content-Type: text/plain; charset=koi8-r; name="Date2.c"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="Date2.c"

/* Y2k date program for all Unix systems V0.2.2000, beta version. 
   (c) Alex Chupakhin, 17-Jun-2000
   tested on Venix, 2BSD
   Next better version will comes soon.
*/

#include <ctype.h>

main(argc,argv)
int argc;
char **argv;
{
int year,month,day,hour,minutes,sec;
long mjd();
long Time,time();
char *ctime();

if (argc==1) { Time=time(); printf("%s",ctime(&Time) ); exit(); }
if (argc<4) { printf("Y2k date\nusage\n%s year month day [hour min] [sec]\n",
	        	argv[0]);exit(); }

year =atoi(argv[1]);
month=atoi(argv[2]);
day  =atoi(argv[3]);
if(argc>=6)
 {
   hour   = atoi(argv[4]);
   minutes= atoi(argv[5]);
 }
if(argc==7) sec = atoi(argv[6]);

Time = mjd(year,month,day)-mjd(1970,1,1);
Time = Time*3600L*24 + (hour+4)*3600L + minutes*60 + sec;

printf("%sJD=%D\n",ctime(&Time),mjd(year,month,day));
stime(&Time);
}



long mjd(y,m,d)
int y,m,d;
{
long a,a4,e,c,b;

if(m<=2) { y--; m+=12; }

a=(long) y/100; 
a4=a/4; 
b=2-a+a4;  
c = (long) (365.25*y);
e = (long) (30.6001*(m+1));
return ( c+e+b+d+1720994L );
}


--------------90BE4CF16FBE20924D142256--

