Commit [bb3994] Maximize Restore History

1.0.46.19: add :NOT-NULL option to C-STRING type

By default NIL is a valid C-STRING, translated to and from C's NULL. This is
very convenient because many C functions that normally return strings return
NULL to indicate "false" or "don't know" -- and less commonly also special
case it as an argument.

There are however many C functions that don't check for NULL, so we want a
non-horrible way to say that NIL is not a good value to pass on...

...it remains to be seen if this is non-horrible enough, but at least it
fixes a bunch of memory faults from doing things like (posix-getenv nil), and
replaces them with type-errors.

Not all C-STRING types have been audited yet, just a bunch of the more
obvious ones.

Nikodemus Siivola Nikodemus Siivola 2011-03-02

changed contrib/sb-posix/interface.lisp
changed doc/manual/ffi.texinfo
changed src/code/host-c-call.lisp
changed src/code/unix.lisp
changed tests/alien.impure.lisp
changed NEWS
changed version.lisp-expr
contrib/sb-posix/interface.lisp Diff Switch to side-by-side view
Loading...
doc/manual/ffi.texinfo Diff Switch to side-by-side view
Loading...
src/code/host-c-call.lisp Diff Switch to side-by-side view
Loading...
src/code/unix.lisp Diff Switch to side-by-side view
Loading...
tests/alien.impure.lisp Diff Switch to side-by-side view
Loading...
NEWS Diff Switch to side-by-side view
Loading...
version.lisp-expr Diff Switch to side-by-side view
Loading...