Update of /project/cl-xmpp/cvsroot/cl-xmpp In directory common-lisp.net:/tmp/cvs-serv13651
Modified Files: cxml.lisp utility.lisp Log Message: fixing character issues for lisps without 16 bit wide characters
Date: Mon Nov 14 20:42:29 2005 Author: eenge
Index: cl-xmpp/cxml.lisp diff -u cl-xmpp/cxml.lisp:1.5 cl-xmpp/cxml.lisp:1.6 --- cl-xmpp/cxml.lisp:1.5 Sat Nov 12 05:20:21 2005 +++ cl-xmpp/cxml.lisp Mon Nov 14 20:42:29 2005 @@ -19,7 +19,7 @@ (defmethod sax:start-element ((handler stanza-handler) uri lname qname attrs) (declare (ignore uri lname)) (when (eql (depth handler) 0) - (if (string-equal "stream:stream" qname) + (if (eq :stream:stream (ensure-keyword qname)) ;; Create an element for DOM-TO-EVENT so we don't have to have ;; any specialized code just to handle stream:stream. (let* ((document (dom:create-document))
Index: cl-xmpp/utility.lisp diff -u cl-xmpp/utility.lisp:1.8 cl-xmpp/utility.lisp:1.9 --- cl-xmpp/utility.lisp:1.8 Mon Nov 14 16:14:07 2005 +++ cl-xmpp/utility.lisp Mon Nov 14 20:42:29 2005 @@ -1,4 +1,4 @@ -;;;; $Id: utility.lisp,v 1.8 2005/11/14 15:14:07 eenge Exp $ +;;;; $Id: utility.lisp,v 1.9 2005/11/14 19:42:29 eenge Exp $ ;;;; $Source: /project/cl-xmpp/cvsroot/cl-xmpp/utility.lisp,v $
;;;; See the LICENSE file for licensing information. @@ -41,3 +41,9 @@
(defun add-auth-method (name operator) (push (list name operator) *auth-methods*)) + +(defun ensure-keyword (thing) + (cond + ((typep thing 'string) (intern thing :keyword)) + ((typep thing 'array) (ensure-keyword (map 'string #'code-char thing))) + (t (error "Don't know how to make keyword out of: ~a (type: ~a)" thing (type-of thing))))) \ No newline at end of file