- $view->find($Num, $ShareName, $dir, 0, \&TarWriteFile,
- $fh, $tarPathOverride);
+ $dir = "/" if ( $dir eq "." );
+ #print(STDERR "calling find with $Num, $ShareName, $dir\n");
+ if ( $view->find($Num, $ShareName, $dir, 0, \&TarWriteFile,
+ $fh, $tarPathOverride) < 0 ) {
+ print(STDERR "$0: bad share or directory '$ShareName/$dir'\n");
+ $ErrorCnt++;
+ return;
+ }
+}
+
+#
+# Write out any hardlinks (if any)
+#
+sub archiveWriteHardLinks
+{
+ my($fh) = @_;
+ foreach my $hdr ( @HardLinks ) {
+ $hdr->{size} = 0;
+ my $name = $hdr->{linkname};
+ $name =~ s{^\./}{/};
+ if ( defined($HardLinkExtraFiles{$name}) ) {
+ $hdr->{linkname} = $HardLinkExtraFiles{$name};
+ }
+ if ( defined($PathRemove)
+ && substr($hdr->{linkname}, 0, length($PathRemove)+1)
+ eq ".$PathRemove" ) {
+ substr($hdr->{linkname}, 0, length($PathRemove)+1) = ".$PathAdd";
+ }
+ TarWriteFileInfo($fh, $hdr);
+ }
+ @HardLinks = ();
+ %HardLinkExtraFiles = ();