Alex Lyon
Alex Lyon
This should fix #27. I basically removed `rayon` and handled the threads manually using `crossbeam`. I also took the liberty to make the `diskus` binary use the `diskus` library instead...
With a sufficiently large directory, the threads can overflow their stacks because `walk()` is recursive. I encountered a similar issue when rewriting the `du` implementation in [`uutils/coreutils`](https://github.com/uutils/coreutils), so I decided...
So, because I didn't know how to use Piston very well when I first wrote this and the code is old af (for Rust code), the code is pretty messy...
Looks like it’s possible to use the stuff given [here](https://docs.microsoft.com/en-us/windows/desktop/fileio/file-security-and-access-rights) to do this.
TCP and IPv6 support still need to be added (AFAICT my ISP doesn't support IPv6 so I can't really test it even if I added support). TCP was giving me...
We need to decide what documentation system to use. I assume we want support for man pages, which means we can either roll our own generator (like in `ripgrep`, which,...
On Linux, we should try to use `splice()` rather than the standard read/write stuff for operations involving pipes. This _mostly_ affects `sh`.
It would be nice to be able to call the utilities from C code. We might limit the user to providing raw file descriptors/raw handles as there's no way to...
I am considering removing `util::actual_path()` and just making all the utilities assume that the current working directory that we should operate in is the current working directory of the binary....
We cannot use the `globwalk` crate as it does not support globbing for parent directories (_i.e._ paths like `../../*` won't work). We will probably need to roll our own directory...