X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fmisc-aliens.lisp;h=3fe8cdf868fc703ced2ca7e61c1a205dac4df7fa;hb=f4f18b9dcdaf1948947b1747f5bfa766a1a0ee4c;hp=bcebb222b3fd9f2eb244d82a356b29ba88104869;hpb=0b3ec4b1d978b887db175b7b3bada8e727683e15;p=sbcl.git diff --git a/src/code/misc-aliens.lisp b/src/code/misc-aliens.lisp index bcebb22..3fe8cdf 100644 --- a/src/code/misc-aliens.lisp +++ b/src/code/misc-aliens.lisp @@ -16,3 +16,11 @@ (dest (* char)) (src (* char)) (n unsigned-int)) + +(def-alien-routine ("os_get_errno" get-errno) integer) +(setf (fdocumentation 'get-errno 'function) + "Return the value of the C library pseudo-variable named \"errno\".") + +;;; Decode errno into a string. +(defun strerror (&optional (errno (get-errno))) + (alien-funcall (extern-alien "strerror" (function c-string int)) errno))