anchor.diff:  (defun slp-register (url
   					 &key (callback-name *default-register-callback*)
   					 (lifetime *default-lifetime*)
  -					 (attributes "")
  +					 attributes 
   					 cookie)
     "Register a service with SLP. Needs slpd to be installed and running on the system"
     (with-foreign-string (u url)
  -    (with-foreign-string (a attributes)
  +    (with-foreign-string (a (cond
  +							  ((null attributes) "")
  +							  ((stringp attributes) attributes)
  +							  ((listp attributes) (slp-format-attributes attributes))))
         (let ((error-code 
   			 (%slp-register (get-handle)
   							u
  
positive.code: (defmacro define-attr-callback
      (name (handle attr-list error-code cookie) &body body)
    `(defcallback ,name slp-bool
         ((,handle slp-handle)
  		(,attr-list :string)
  		(,error-code slp-error-type)
  		(,cookie :pointer))
       (declare (ignorable ,handle ,attr-list ,error-code ,cookie))
       ,@body))
  
  
negative.code: (defctype slp-bool :boolean)
  
  (defcstruct slp-server-url
  	(server-type :string)
    (host :string)
    (port :int)
    (net-family :string)
  