fio/recursive
Values
pub fn copy_directory(
src: String,
dest: String,
) -> Result(Nil, error.FioError)
Recursively copy src directory into dest (creates parents).
Symlink loop safety: directory symlinks whose resolved inode has already been visited are skipped silently rather than followed forever.
pub fn list_recursive(
path: String,
) -> Result(List(String), error.FioError)
Recursively list files and directories (paths relative to path).
Uses a flat string accumulator for O(n) traversal.
Symlink loop safety: before descending into any directory, its real
(dev, inode) pair (obtained via stat, which follows symlinks) is
checked against the visited set. If already seen, the entry is listed
but not descended into, breaking any A->B->A or deeper circular chains.