Commit Briefs
move declarations from telescope.h in fs.h
and while there also publish various path. It's easier and better to have all of them exported from here instead of hardcoding them in other files (such as sandbox.c)
dirname fix
dirname(3) is really one of the worst part of POSIX, portability-wise. Implementors can decide to either modify the passed string or return a pointer to an internal storage. The current code fails when dirname returns a pointer to an internal storage because between the strcmp call and the mkdir we go into a recursion that can modify `path'. We can't use copy either because *some* implementation of dirname would have changed that. How to escape from this hell? Take yet another copy of the path!
support xdg basedir
Use XDG-compliant paths unless ~/.telescope already exists. Provide a script to migrate to XDG-style directory for users who wish to do so.
delete old (and wrong) comment
it's been a while since we're using a lockfile to protect against multiple telescope instances.
ignore the crashed file if in safe_mode
During safe_mode the fs process shouldn't open or unlink the crashed_file.
add a safe/sandbox mode
When enabled with the -S (or --safe) flag, prevent telescope from writing files to the disk.