-(defclass gstring (boxed)
- ()
- (:metaclass boxed-class)
- (:alien-name "GString"))
-
-(deftype-method translate-from-alien
- gstring (type-spec location &optional weak-ref)
- `(let ((location ,location))
- (unless (null-pointer-p location)
- (prog1
- (c-call::%naturalize-c-string location)
- ,(unless weak-ref
- (unreference-alien type-spec location))))))
-
-(deftype-method translate-to-alien
- gstring (type-spec string &optional weak-ref)
- (declare (ignore type-spec weak-ref))
- `(let ((string ,string))
- ;; Always copy strings to prevent seg fault due to GC
- (funcall
- ',(proxy-class-copy (find-class type-spec))
- ',type-spec
- (make-pointer (1+ (kernel:get-lisp-obj-address string))))))
-
-(deftype-method cleanup-alien gstring (type-spec c-string &optional weak-ref)
- (when weak-ref
- (unreference-alien type-spec c-string)))
+;; (defclass gstring (boxed)
+;; ()
+;; (:metaclass boxed-class)
+;; (:alien-name "GString"))
+
+;; (deftype-method translate-from-alien
+;; gstring (type-spec location &optional weak-ref)
+;; `(let ((location ,location))
+;; (unless (null-pointer-p location)
+;; (prog1
+;; (c-call::%naturalize-c-string location)
+;; ,(unless weak-ref
+;; (unreference-alien type-spec location))))))
+
+;; (deftype-method translate-to-alien
+;; gstring (type-spec string &optional weak-ref)
+;; (declare (ignore weak-ref))
+;; `(let ((string ,string))
+;; ;; Always copy strings to prevent seg fault due to GC
+;; (funcall
+;; ',(proxy-class-copy (find-class type-spec))
+;; ',type-spec
+;; (make-pointer (1+ (kernel:get-lisp-obj-address string))))))
+
+;; (deftype-method cleanup-alien gstring (type-spec c-string &optional weak-ref)
+;; (when weak-ref
+;; (unreference-alien type-spec c-string)))
+
+
+
+;;;; NULL terminated vector of strings