On Sun, 2009-03-29 at 12:11 +0200, Leslie P. Polzer wrote: > Hi, > > I have tried to use execv() from glibc in SBCL, but it's either > not compatible with SBCL for some reason or I'm not calling it > correctly. > > Perhaps one of you guys can spot mistakes here:
you haven't read its man page carefully
> CL-USER(2): (use-package :cffi)
>
> T
> CL-USER(3): (define-foreign-library libc (:unix "libc.so.6"))
>
> LIBC
> CL-USER(4): (use-foreign-library libc)
>
> #<CFFI::FOREIGN-LIBRARY {B277599}>
> CL-USER(7): (defcfun "execv" :int (path :string) (args :pointer))
>
> EXECV
> CL-USER(14): (execv "/bin/chmod" (null-pointer))
> zsh: segmentation fault rlwrap sbcl
(defcfun (%execv "execv") :int (path :string) (args :pointer))
(defun execv/0 (binary)
(check-type binary string)
(with-foreign-string (cstring binary)
(with-foreign-object (v :pointer 2)
(setf (mem-aref v :pointer 0) cstring)
(setf (mem-aref v :pointer 1) (null-pointer))
(%execv binary v))))
--
Stelian Ionescu a.k.a. fe[nl]ix
Quidquid latine dictum sit, altum videtur.
signature.asc
Description: This is a digitally signed message part
_______________________________________________ cffi-devel mailing list [email protected] http://common-lisp.net/cgi-bin/mailman/listinfo/cffi-devel
