use File::stat;
use MIME::Base64;
-# Copyright (C) 2010 Zygo Blaxell <dm5@mailtoo.hungrycats.org>
+# Copyright (C) 2010 Zygo Blaxell <dupemerge@mailtoo.hungrycats.org>
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
Usage: $0 link-dir
Hashes a NUL-separated list of files on stdin into link-dir.
-Version: 20100513.0
+Version: 0.20100514
USAGE
}
return "$parent/$suffix";
}
-sub name_quad {
+sub name_ino {
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;
return $base64_packed;
}
-sub name_ino {
- my ($ino) = @_;
- return name_quad($ino) . 'I';
-}
-
# ext3 cannot handle more than 32000 links to a file. Leave some headroom.
# Arguably this should be configurable, but the losses are miniscule and
# the coding for option support is not.
$digest =~ y:/:_:;
# Check link to digest
- my $digest_link = prepare_parents($link_dir, "${digest}D");
+ my $digest_link = prepare_parents($link_dir, $digest);
print STDERR 'D';
my $digest_st = lstat($digest_link);
if ($digest_st) {