;;; -*- Mode:Lisp; Readtable:CL; Package:USER; Base:10; Patch-File:T -*- ;;; Patch file for System version 123.23 ;;; Reason: ;;; When we receive an Echo Reply, return the Echo Data as a string ;;; Written 1-Oct-87 17:14:06 by pld at site LMI Cambridge ;;; while running on Jack Flanders from band 2 ;;; with Experimental System 123.22, 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, microcode 1754, SDU Boot Tape 3.12, SDU ROM 8. ; From modified file DJ: L.NETWORK.IP-TCP.KERNEL; ICMP.LISP#89 at 1-Oct-87 17:14:06 #10R ICMP#: (COMPILER-LET ((*PACKAGE* (GLOBAL:PKG-FIND-PACKAGE "ICMP"))) (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; IP-TCP; KERNEL; ICMP  " (defun receive-icmp-echo-reply (stream buffer) (incf (icmp-echo-reply-received stream)) (let ((user (assoc (icmp-identifier buffer) (icmp-user-socket-alist stream))) (data-length (- (length buffer) 8)) (string nil)) (when (and user (assoc (icmp-sequence buffer) (icmp-user-request-list (cdr user)))) (delete-from-alist (icmp-sequence buffer) (icmp-user-request-list (cdr user))) (copy-array-portion buffer 8 (length buffer) (setq string (make-string data-length)) 0 data-length) (push (list (icmp-sequence buffer) (zl:time) string) (icmp-user-reply-list (cdr user))) (incf (icmp-user-echo-received (cdr user)))))) ))