`##sys#find-files' bug fix: handle dot files recursively

Assuming:

    $ mkdir -p foo/bar/.baz

Old behavior:

  $ csi -e '(use posix) (print (find-files "foo" dotfiles: #t))'
  (foo/bar)

Behavior with this patch:

  $ csi -e '(use posix) (print (find-files "foo" dotfiles: #t))'
 (foo/bar/.baz foo/bar)

Without this patch, delete-directory doesn't properly honor the
`recursive' optional argument:

  $ csi -e '(use posix) (delete-directory "foo" #t)'

  Error: (delete-directory) cannot delete directory - Directory not empty: "foo/bar"

Signed-off-by: Christian Kellermann <ckeen@pestilenz.org>
Don't do a shady unsigned comparison, but ensure we're growing the heap before checking it grows enough to fit the stack

Signed-off-by: Moritz Heidkamp <moritz@twoticketsplease.de>
Use "noreturn" attribute in newer clang versions and get rid of a clang warning.

The division procedure C_2_divide would try to call C_fix on the
uninitialised variable "iresult" in the case where either of the
divident or the divisor values are flonums ("fflag" will be 1 then).

In the situation where neither value is a flonum, it'll either barf
(which is declared "noreturn"), or properly initialise iresult.

This means the C_unfix() call on an uninitialised value which gets
C_fix()ed later is pure overhead in the case either value is a flonum.

Signed-off-by: Moritz Heidkamp <moritz@twoticketsplease.de>