X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=dupemerge;a=blobdiff_plain;f=dm6;h=4cd11b02f43767f63a913cbaa7715c6fd553eecc;hp=b8cd25f1bf2319b3aaa3425cac05e712728fe1e1;hb=06e26c8aae795bc65c74cad0a028d6707452be9c;hpb=6757a5a253dcdd4023338a430304e088af10bc68 diff --git a/dm6 b/dm6 index b8cd25f..4cd11b0 100755 --- a/dm6 +++ b/dm6 @@ -9,7 +9,7 @@ use File::Temp; use File::stat; use MIME::Base64; -# Copyright (C) 2010 Zygo Blaxell +# Copyright (C) 2010 Zygo Blaxell # 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 @@ -104,22 +104,18 @@ sub prepare_parents { return "$parent/$suffix"; } -sub name_quad { +sub name_ino { my ($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. @@ -175,7 +171,7 @@ while () { $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) {