Hi everybody, I have a problem that I was not able to resolve with the manual. I have the following C function (which is a trimmed down version of a C++ wrapper): extern "C" { void tryit(const int *ints, unsigned count) { for(unsigned i=0; i<count; i++) { cerr << "index " << i << ": " << ints[i] << "\n"; } } } /* extern "C" */ Now I want to call it with an array that is allocated and initialized on the Lisp side: (defcfun ("tryit" try-it) :void (vars :pointer) (count :unsigned-int)) (defun test () (let* ((l (list 1 2 3)) (len (length l)) (i 0)) (with-foreign-object (idx :int len) (map nil (lambda (x) (setf (mem-ref idx :int i) x) (incf i)) l) (try-it idx len)))) I'm quite convinced that this should now print 1,2,3 to cerr for the corresponding indices. However, I get the following: index 0: 197121 index 1: 0 index 2: 6581024 Any insight on what I'm doing wrong is greatly appreciated. Best regards, Stephan