Moin, moin,
Schreib einen "self-contained" Test, der eine entsprechende Datei anlegt, mit dem angeblichen Bug demoliert und anschließend überprüft, dass die Datei wirklich demoliert wurde. Den lasse ich dann gerne auf zwei oder drei verschiedenen Systemen laufen.
Gerne, steht unten.
Bis dann,
Hotti
#!/usr/bin/perl
###########################################################################
# teste Verhalten sysopen() mit 0x1A
# VARs
my $file = 'testfile';
###########################################################################
use strict;
use Fcntl qw(:DEFAULT :flock);
# Schreibe genau 4 Bytes in die Datei
sysopen(OUT, $file, O_RDWR|O_CREAT) or die $!;
seek OUT, 0, 0;
truncate OUT, 0;
binmode OUT;
print OUT pack "N", 0x1A;
close OUT;
# Testen der Dateilänge
my @stats = stat($file);
printf qq(Dateilaenge nach Schreiben: %u Byte\n), $stats[7];
# Datei nur öffnen mit sysopen(), nix weiter
sysopen(OUT, $file, O_RDWR|O_CREAT) or die $!;
close OUT;
# Testen der Dateilänge
@stats = stat($file);
printf qq(Dateilaenge nach sysopen: %u Byte\n), $stats[7];
__END__
Dateilaenge nach Schreiben: 4 Byte
Dateilaenge nach sysopen: 3 Byte