* If we want to delete a file we must have write-permissions...
* ...elide empty environment-variable from gcc arguments in def-to-lisp.lisp
(funcall (intern "C-CONSTANTS-EXTRACT" (find-package "SB-GROVEL"))
filename tmp-c-source (constants-package component))
(let ((code (sb-ext:process-exit-code
- (sb-ext:run-program "gcc"
- (append
- (sb-ext:posix-getenv "EXTRA_CFLAGS")
- (list "-o"
- (namestring tmp-a-dot-out)
- (namestring tmp-c-source)))
- :search t
- :input nil
- :output *trace-output*))))
+ (sb-ext:run-program
+ "gcc"
+ (append
+ (let ((cf (sb-ext:posix-getenv "EXTRA_CFLAGS")))
+ (when (plusp (length cf))
+ (list cf)))
+ (list "-o"
+ (namestring tmp-a-dot-out)
+ (namestring tmp-c-source)))
+ :search t
+ :input nil
+ :output *trace-output*))))
(unless (= code 0)
(case (operation-on-failure op)
(:warn (warn "~@<C compiler failure when performing ~A on ~A.~@:>"
(:type uid-t #-win32 "uid_t" #+win32 "short")
(:type gid-t #-win32 "gid_t" #+win32 "short")
(:type nlink-t #-win32 "nlink_t" #+win32 "short")
-
+
(:type pid-t "pid_t")
(:type ino-t "ino_t")
;; OS X manpages say this exists. they lie!
#+nil
(:integer fields "int" "pw_fields")))
-
+
(:structure alien-stat
("struct stat"
(mode-t mode "mode_t" "st_mode")
(define-call "setfsuid" int minusp (uid uid-t))
(define-call "setreuid" int minusp (ruid uid-t) (euid uid-t))
(define-call "setresuid" int minusp (ruid uid-t) (euid uid-t) (suid uid-t))
- (define-call "setuid" int minusp (uid uid-t))
+ (define-call "setuid" int minusp (uid uid-t))
(define-call "getegid" gid-t never-fails)
(define-call "getgid" gid-t never-fails)
(define-call "getresgid" gid-t never-fails)
(logior sb-posix::s-irusr sb-posix::s-iwusr sb-posix::s-ixusr
#-win32
(logior
- sb-posix::s-irgrp sb-posix::s-iwgrp sb-posix::s-ixgrp
+ sb-posix::s-irgrp sb-posix::s-iwgrp sb-posix::s-ixgrp
sb-posix::s-iroth sb-posix::s-iwoth sb-posix::s-ixoth))))
(defmacro define-eacces-test (name form &rest values)
(let ((name (merge-pathnames "open-test.txt" *test-directory*)))
(unwind-protect
(progn
- (sb-posix:close (sb-posix:creat name sb-posix:s-iwrite))
+ (sb-posix:close
+ (sb-posix:creat name (logior sb-posix:s-iwrite sb-posix:s-iread)))
(let ((fd (sb-posix:open name sb-posix::o-rdonly)))
(ignore-errors (sb-posix:close fd))
(< fd 0)))
"Return the current status of PROCESS. The result is one of :RUNNING,
:STOPPED, :EXITED, or :SIGNALED."
#-win32
- (get-processes-status-changes)
+ (get-processes-status-changes)
(process-%status process))
#+sb-doc
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.11.32"
+"0.9.11.33"