0.7.4.16:
[sbcl.git] / src / code / unix.lisp
index 0035134..abd35fc 100644 (file)
                                         uid))
       (error "found no match for Unix uid=~S" uid)))
 
+;;; Return the namestring of the home directory, being careful to
+;;; include a trailing #\/
+(defun uid-homedir (uid)
+  (or (newcharstar-string (alien-funcall (extern-alien "uid_homedir"
+                                                      (function (* char) int))
+                                        uid))
+      (error "failed to resolve home directory for Unix uid=~S" uid)))
+
 ;;; Invoke readlink(2) on the file name specified by PATH. Return
 ;;; (VALUES LINKSTRING NIL) on success, or (VALUES NIL ERRNO) on
 ;;; failure.