1
0
mirror of https://github.com/PDP-10/its.git synced 2026-02-04 07:43:02 +00:00

Fix Y2K bug in C library now() function.

Use RQDATE instead of .RDATE.
This commit is contained in:
Lars Brinkhoff
2021-08-31 14:29:49 +02:00
parent bf9199b4ef
commit d23ccc6f74

View File

@@ -379,56 +379,22 @@ CENTRY ETIME ; RETURN A TIME FOR ELAPSED TIME MEASUREMENT
CENTRY NOW,[PCAL] ; GET CURRENT DATE AND TIME
HRRZ D,PCAL ; CAL POINTER
.RDATE C,
LDB A,[360600,,C] ; HIGH-ORDER YEAR SIXBIT
SUBI A,20
IMULI A,10.
LDB B,[300600,,C] ; LOW-ORDER YEAR SIXBIT
SUBI B,20
ADDI A,1900.(B) ; YEAR
MOVEM A,(D)
LDB A,[220600,,C] ; HIGH-ORDER MONTH
SUBI A,20
IMULI A,10.
LDB B,[140600,,C] ; LOW-ORDER MONTH
SUBI B,20
ADDI A,(B)
MOVEM A,1(D) ; MONTH
LDB A,[060600,,C] ; HIGH-ORDER DAY
SUBI A,20
IMULI A,10.
LDB B,[000600,,C] ; LOW-ORDER DAY
SUBI B,20
ADDI A,(B)
MOVEM A,2(D) ; DAY
.RTIME C,
LDB A,[360600,,C] ; HIGH-ORDER HOUR
SUBI A,20
IMULI A,10.
LDB B,[300600,,C] ; LOW-ORDER HOUR
SUBI B,20
ADDI A,(B)
.CALL [SETZ ? 'RQDATE ? SETZM A]
JRST [SETZ A, ? RETURN]
LDB B,[331100,,A] ; YEAR
ADDI B,1900.
MOVEM B,(D)
LDB B,[270400,,A]
MOVEM B,1(D) ; MONTH
LDB B,[220500,,A]
MOVEM B,2(D) ; DAY
LDB A,[012100,,A]
IDIVI A,60.
MOVEM B,5(D) ; SECOND
IDIVI A,60.
MOVEM B,4(D) ; MINUTE
MOVEM A,3(D) ; HOUR
LDB A,[220600,,C] ; HIGH-ORDER MINUTE
SUBI A,20
IMULI A,10.
LDB B,[140600,,C] ; LOW-ORDER MINUTE
SUBI B,20
ADDI A,(B)
MOVEM A,4(D) ; MINUTE
LDB A,[060600,,C] ; HIGH-ORDER SECOND
SUBI A,20
IMULI A,10.
LDB B,[000600,,C] ; LOW-ORDER SECOND
SUBI B,20
ADDI A,(B)
MOVEM A,5(D) ; SECOND
MOVEI A,(D)
RETURN