run-program: Improve argument escaping on WIN32.
[sbcl.git] / src / code / misc-aliens.lisp
index bcebb22..bf11807 100644 (file)
 (in-package "SB!IMPL")
 
 (declaim (inline memmove))
-(def-alien-routine ("memmove" memmove) void
+(define-alien-routine ("memmove" memmove) void
   (dest (* char))
   (src (* char))
   (n unsigned-int))
+
+(define-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))