Update of /project/pg/cvsroot/pg In directory common-lisp.net:/tmp/cvs-serv6507
Modified Files: v3-protocol.lisp Log Message:
Comment-only patch: mark the places in the v3-protocol code where charset encoding problems will have to be addressed.
It's probably not worth going through the v2-protocol code to fix these issues, since it has too many places where READ-CSTRING is confused with READ-OCTET-ARRAY.
Date: Thu Apr 22 13:00:12 2004 Author: emarsden
Index: pg/v3-protocol.lisp diff -u pg/v3-protocol.lisp:1.10 pg/v3-protocol.lisp:1.11 --- pg/v3-protocol.lisp:1.10 Wed Apr 21 15:27:46 2004 +++ pg/v3-protocol.lisp Thu Apr 22 13:00:12 2004 @@ -233,6 +233,7 @@ (result (unless (= end position) (make-array (- end position) :element-type 'base-char)))) + ;; FIXME need to handle charset encoding issues here (when result (loop :for i :from position :below end :for j :from 0 @@ -243,6 +244,9 @@ (setf position (1+ end)) result)))))
+;; FIXME need to check all callers of this function to distinguish +;; between uses that expect charset encoding to be handled, and those +;; that really want READ-OCTET-ARRAY-FROM-PACKET (defgeneric read-string-from-packet (packet length) (:documentation "Reads an array of LENGTH bytes from the packet") @@ -316,6 +320,9 @@ (setf (elt data (+ 2 position)) (ldb (byte 8 8) value)) (setf (elt data (+ 3 position)) (ldb (byte 8 0) value)) (incf position 4)) + ;; FIXME need to deal with text encoding issues here: + ;; transform from the Lisp string representation to the + ;; encoding selected by *PG-CLIENT-ENCODING*. ((:cstring) (check-type value string)