#!/usr/bin/env bx use b Main() if !args usage("hashdir [dir ...]") cstr hashdir = arg[0] ++arg ; --args new(b, buffer, PATH_MAX) find_main(f, s) if S_ISLNK(s->st_mode) warn("%s", f) buffer_clear(b) cstr target_leaf = Readlink(f, b) cstr target = path_cat(hashdir, target_leaf) if exists(target) Remove(f) Link(target, f) else warn("broken link %s -> %s", f, target) Free(target) Free(f)