anchor.diff:  
   (defun decode-question (stream)
     (let ((name (decode-name stream))
  -	(type (nibbles:read-ub16/be stream))
  -	(class (nibbles:read-ub16/be stream)))
  +        (type (nibbles:read-ub16/be stream))
  +        (class (nibbles:read-ub16/be stream)))
       (list :name name 
  -	  :type (car (find type *type-codes* :key #'cadr :test #'=))
  -	  :class (car (find class *class-codes* :key #'cadr :test #'=)))))
  +          :type (car (find type *type-codes* :key #'cadr :test #'=))
  +          :class (car (find class *class-codes* :key #'cadr :test #'=)))))
   
   (defun question (name &optional (type :a) (class :in))
     "Allocate a question to use with QUERY.
  
positive.code: 
  (defmethod encode-rdata ((type (eql :srv)) data stream)
    (let ((priority (getf data :priority))
  	(weight (getf data :weight))
  	(port (getf data :port))
  	(target (getf data :target)))
      (nibbles:write-ub16/be priority stream)
      (nibbles:write-ub16/be weight stream)
      (nibbles:write-ub16/be port stream)
  
negative.code:       ((= len 0) (values nil nil))
        ((<= len 63)
         (let ((v (nibbles:make-octet-vector len)))
           (read-sequence v stream)
           (values (babel:octets-to-string v) 
                   nil)))
        (t       
         ;; this is a pointer, call into the hook to decode the name 
         (let ((offset (logior (ash (logand len 63) 8)
                               (read-byte stream))))
           (values (funcall *resolve-pointer-hook* offset)
                   t))))))
  
  ;; -------------------------
  
  (defun encode-name (name stream)
  