Long directory => ext::getcwd error: Numerical result out of range
Starting ECL in a long directory crashes:
$ mkdir 0123456789-0123456789-0123456789-0123456789-0123456789-0123456789-0123456789-0123456789-0123456789-$ 0123456789-0123456789-0123456789-0123456789-0123456789-0123456789
$ cd 0123456789-0123456789-0123456789-0123456789-0123456789-0123456789-0123456789-0123456789-0123456789-0123456789-0123456789-0123456789-0123456789-0123456789-0123456789
$ ecl
ext::getcwd error: Numerical result out of range
Internal or unrecoverable error in:
Can't work without CWD
[34: Numerical result out of range]
;;; ECL C Backtrace
;;; /home/vbraun/Code/sage.git/local/lib/libecl.so.16.1(si_dump_c_backtrace+0x26) [0x7facc9706dc6]
;;; /home/vbraun/Code/sage.git/local/lib/libecl.so.16.1(ecl_internal_error+0x3f) [0x7facc96f1f4f]
;;; /home/vbraun/Code/sage.git/local/lib/libecl.so.16.1(+0x1b8251) [0x7facc9727251]
;;; /home/vbraun/Code/sage.git/local/lib/libecl.so.16.1(si_getcwd+0x95) [0x7facc9727a85]
;;; /home/vbraun/Code/sage.git/local/lib/libecl.so.16.1(cl_boot+0x37c) [0x7facc9602cfc]
;;; ecl() [0x400969]
;;; /lib64/libc.so.6(__libc_start_main+0xf0) [0x7facc8969580]
;;; ecl() [0x400a39]
This is because current_dir() checks for ENAMETOOLONG, but the actual errno is ERANGE.