;;; -*- Mode:Lisp; Readtable:CL; Package:USER; Base:10; Patch-File:T -*- ;;; Patch file for System version 123.14 ;;; Reason: ;;; If si:user-id is not NIL (user is logged in), yet the login time from si:login-history ;;; is NIL (no login time), rwho-server broke trying to construct a packet to send. ;;; Written 18-Sep-87 16:52:49 by naha at site LMI Cambridge ;;; while running on Love from band 1 ;;; with Experimental System 123.13, Experimental Local-File 73.0, Experimental FILE-Server 22.0, Experimental Unix-Interface 11.0, Experimental Tape 18.0, Experimental KERMIT 34.0, Experimental ZMail 71.0, Experimental Lambda-Diag 15.0, Experimental Site Data Editor 6.0, microcode 1754, SDU Boot Tape 3.13, SDU ROM 102. ; From modified file DJ: L.NETWORK.IP-TCP.SERVER; UDP-RWHO-SERVER.LISP#27 at 18-Sep-87 16:52:53 #10R TCP-APPLICATION#: (COMPILER-LET ((*PACKAGE* (GLOBAL:PKG-FIND-PACKAGE "TCP-APPLICATION"))) (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; IP-TCP; SERVER; UDP-RWHO-SERVER  " (defun build-rwho-packet (packet) (setf (rwho-vers packet) RWHO-VERSION-NUMBER) (setf (rwho-type packet) RWHO-STATUS-TYPE) (setf (rwho-pad packet) 0) (setf (rwho-send-time packet) (fudge-ut-to-unix (get-universal-time))) (setf (rwho-recv-time packet) 0) (setf (rwho-hostname packet) (send si:local-host :name)) (set-rwho-load-average packet 0 0) (set-rwho-load-average packet 1 0) (set-rwho-load-average packet 2 0) (setf (rwho-boot-time packet) (fudge-ut-to-unix time:*ut-at-boot-time*)) (cond ((zerop (length si:user-id)) ;not logged in (setf (fill-pointer packet) rwho-utmp-offset)) (t (set-rwho-utmp-ttyname packet rwho-utmp-offset "LISPM") (set-rwho-utmp-userid packet rwho-utmp-offset si:user-id) (let ((login-time (fourth (first si:login-history)))) (set-rwho-utmp-time-logged-in packet rwho-utmp-offset (if login-time (fudge-ut-to-unix (time:parse-universal-time login-time)) (rwho-send-time packet)))) (let ((idle (floor (time-difference (zl:time) tv:kbd-last-activity-time) 60))) (set-rwho-utmp-idle-time packet rwho-utmp-offset idle)) (setf (fill-pointer packet) (+ rwho-utmp-offset rwho-utmp-entry-length)))) packet) ))