Usage: $0 link-dir
Hashes a NUL-separated list of files on stdin into link-dir.
-Version: 20100513.0
+Version: 0.20100514
USAGE
}
sub name_quad {
my ($int64) = @_;
- my $packed = pack('Q', $int64);
+ my $packed = pack('Q>', $int64);
$packed =~ s/^\0+//os;
my $base64_packed = encode_base64($packed, '');
+ $base64_packed =~ y:/:_:;
# Don't strip off the trailing padding since it makes the string
# so short we end up just putting it back on again.
# $base64_packed =~ s/=+$//os;
print STDERR "\nGarbage collection in '$link_dir'...";
chdir($link_dir) || die "chdir: $link_dir: $!";
print STDERR "\nRemoving files with link count < 3...";
-system("find . -type f -links -3 -print0 | xargs -0 rm -f") and die "system: exit status $?";
+system("find . -type f -links -3 -print0 | xargs -0rt rm -f") and die "system: exit status $?";
print STDERR "\nRemoving empty directories...";
-system("find . -type d -empty -print0 | xargs -0r rmdir -p --ignore-fail-on-non-empty") and die "system: exit status $?";
+system("find . -type d -empty -print0 | xargs -0rt rmdir -p --ignore-fail-on-non-empty") and die "system: exit status $?";
print STDERR "\nDone.\n";
exit(0);