X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-posix%2Finterface.lisp;h=1da9d8fa09a18b8bc8389e76357b4a1f17c8ea6d;hb=9837343101c3da7b3a8f94609ec116ec5025436a;hp=c111e7660c6bd17380d1cf3f4f85fe7036165874;hpb=4043155e2cccdd0872b6cc59570010c0e20d5e00;p=sbcl.git diff --git a/contrib/sb-posix/interface.lisp b/contrib/sb-posix/interface.lisp index c111e76..1da9d8f 100644 --- a/contrib/sb-posix/interface.lisp +++ b/contrib/sb-posix/interface.lisp @@ -169,7 +169,8 @@ (let* ((external-format sb-alien::*default-c-string-external-format*) (arg (sb-ext:string-to-octets (filename template) - :external-format external-format))) + :external-format external-format + :null-terminate t))) (sb-sys:with-pinned-objects (arg) ;; accommodate for the call-by-reference ;; nature of mks/dtemp's template strings. @@ -181,7 +182,8 @@ ;; FIXME: We'd rather return pathnames, but other ;; SB-POSIX functions like this return strings... (let ((pathname (sb-ext:octets-to-string - arg :external-format external-format))) + arg :external-format external-format + :end (1- (length arg))))) ,(if values '(values result pathname) 'pathname))))))