anchor.diff:    (declare (optimize (speed 0) (safety 3) (debug 3)))
     (with-open-file (stream "c:/temp2/Libc.a" :element-type '(unsigned-byte 8))
   
  -	; Make sure we have the correct header
  -
  -	(let ((header-string (read-string stream 8)))
  -	  (unless (search "!<arch>" header-string)
  -	  	(return-from archive-read-file nil))
  -
  -	; scan for files 
  -
  -	(loop for i from 0 to 1000000 do
  -	  (let ((temp (archive-header-read stream)))
  -	    (unless (search "`" (archive-header-fmag temp))
  -	   	  (return-from archive-read-file))
  -
  -		(pprint temp)
  -
  -	   	; parse elf file 
  -
  -		(let ((current-pos (file-position stream)))
  -		  (unless (eq (search "/ " (archive-header-name temp)) 0)
  -		  	(elf-read-stream current-pos stream))
  -
  -	   	  ; search to next entry
  -	   	 
  -		  (file-position stream (+ current-pos (archive-header-size temp)))))))))
  -
  -
  +  ; Make sure we have the correct header
  +
  +  (let ((header-string (read-string stream 8)))
  +    (unless (search "!<arch>" header-string)
  +      (return-from archive-read-file nil))
  +
  +  ; scan for files 
  +
  +  (loop for i from 0 to 1000000 do
  +    (let ((temp (archive-header-read stream)))
  +      (unless (search "`" (archive-header-fmag temp))
  +         (return-from archive-read-file))
  +
  +    (pprint temp)
  +
  +       ; parse elf file 
  +
  +    (let ((current-pos (file-position stream)))
  +      (unless (eq (search "/ " (archive-header-name temp)) 0)
  +        (elf-read-stream current-pos stream))
  +
  +         ; search to next entry
  +        
  +      (file-position stream (+ current-pos (archive-header-size temp)))))))))
  +
  +
  
positive.code: 
  (defun archive-header-read (stream)
    (let ((header (make-archive-header)))
    	(setf (archive-header-name header) (read-string stream 16))
    	(setf (archive-header-date header) (parse-integer (read-string stream 12)))
    	(setf (archive-header-uid header) (read-seq stream 6))
    	(setf (archive-header-gid header) (read-seq stream 6))
    	(setf (archive-header-mode header) (read-seq stream 8))
    	(setf (archive-header-size header) (parse-integer (read-string stream 10)))
    	(setf (archive-header-fmag header) (read-string stream 2)) 
    	; adjust size
    	(setf (archive-header-size header) (logand (+ (archive-header-size header) 1) (lognot 1)))
    	header))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
  
negative.code: 
  (defun read-word (stream)
    (let* ((l (read-half stream))
         (r (read-half stream)))
      (logior (ash r 16) l)))
  
  (defun read-sword (stream) (read-word stream))
  