#!/usr/bin/env perl
use strict;
use constant FCONT => 1<<1;
use constant FEXTRA => 1<<2;
use constant FNAME => 1<<3;
my $file = $ARGV[0];
unless (@ARGV and -f $file) {
die "Usage: gzip_rename.pl FILENAME < orig-data\n";
}
my $buf;
read STDIN, $buf, 10 or exit;
my $flags = (unpack "C4", $buf)[3];
exit unless defined $flags;
exit unless $flags & FNAME;
if ($flags & FCONT) {
read STDIN, $buf, 2 or exit;
}
if ($flags & FEXTRA) {
read STDIN, $buf, 2 or exit;
my $len = unpack("v", $buf); # unsigned little-endian 16-bit
exit if $len > 10240;
read STDIN, $buf, $len or exit;
}
read STDIN, $buf, 130 or exit;
my $origname = unpack("Z130", $buf);
if ($origname and length($origname) < 128 and $origname !~ m[[/\x00-\x1F]]) {
print "RENAME $origname\n";
}