diff options
-rwxr-xr-x | lorry.tar-importer | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lorry.tar-importer b/lorry.tar-importer index 904f8d8..d4d27f5 100755 --- a/lorry.tar-importer +++ b/lorry.tar-importer @@ -103,11 +103,16 @@ foreach my $tar_file (@ARGV) $mtime = oct $mtime; next if $typeflag == 5; # directory - print FI "blob\n", "mark :$next_mark\n"; if ($typeflag == 2) { # symbolic link + print FI "blob\n", "mark :$next_mark\n"; print FI "data ", length($linkname), "\n", $linkname; $mode = 0120000; + } elsif ($typeflag eq 'x') { # extended header + # skip header contents + $size -= 512 while ($size > 0 && read(I, $_, 512) == 512); + next; } else { + print FI "blob\n", "mark :$next_mark\n"; print FI "data $size\n"; while ($size > 0 && read(I, $_, 512) == 512) { print FI substr($_, 0, $size); |