+ (g-slist-free pointer))))
+
+(defmethod translate-to-foreign (list (type gslist-type))
+ (let ((result (null-pointer)) last)
+ (iter (for item in list)
+ (for n = (g-slist-alloc))
+ (for ptr = (convert-to-foreign item (gslist-type-type type)))
+ (setf (foreign-slot-value n 'g-slist 'data) ptr)
+ (setf (foreign-slot-value n 'g-slist 'next) (null-pointer))
+ (when last
+ (setf (foreign-slot-value last 'g-slist 'next) n))
+ (setf last n)
+ (when (first-iteration-p)
+ (setf result n)))
+ result))
+