anchor.diff:  
   (defun read-word (stream)
     (let* ((l (read-half stream))
  -	     (r (read-half stream)))
  +       (r (read-half stream)))
       (logior (ash r 16) l)))
   
   (defun read-sword (stream) (read-word stream))
  
positive.code:   (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)))))))))
  
  
  
negative.code: 
  (defconstant +null+ (code-char 0))
  
  (defstruct elf-header ident type machine version entry phoff shoff flags ehsize phentsize phnum shentsize shnum shstrndx)
  (defstruct elf-section name-string name type flags addr offset size link info addralign entsize data)
  (defstruct elf-symbol-table name-string name value size info other shndx)
  (defstruct elf-file header sections symbol-table function-table text-offset data-offset rodata-offset bssdata-offset)
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;; Helpers
  
  
  (defun read-string (stream length)
  