Package: perl
Version: 5.8.4-8sarge5
Severity: normal

The truncate() function does not use filehandle correctly in some cases.
Correct behaviour (reads and truncates FILE):

$ echo abc >FILE; echo xyz >HAND; ls -l; perl -e 'open $FH,"+<FILE"; $x = 
<$FH>; print "$FH: $x"; $x=truncate($FH,2); print "$x $!\n"'; ls -l
total 8
-rw-------  1 psz amstaff 4 Mar  3 19:16 FILE
-rw-------  1 psz amstaff 4 Mar  3 19:16 HAND
GLOB(0x814cc20): abc
1 
total 8
-rw-------  1 psz amstaff 2 Mar  3 19:16 FILE
-rw-------  1 psz amstaff 4 Mar  3 19:16 HAND

Incorrect behaviour (reads FILE but truncates the un-related HAND):

$ echo abc >FILE; echo xyz >HAND; ls -l; perl -e '$FH="HAND"; open 
$FH,"+<FILE"; $x = <$FH>; print "$FH: $x"; $x=truncate($FH,2); print "$x 
$!\n"'; ls -l
total 8
-rw-------  1 psz amstaff 4 Mar  3 19:15 FILE
-rw-------  1 psz amstaff 4 Mar  3 19:15 HAND
HAND: abc
1 
total 8
-rw-------  1 psz amstaff 4 Mar  3 19:15 FILE
-rw-------  1 psz amstaff 2 Mar  3 19:15 HAND

Cheers,

Paul Szabo   [EMAIL PROTECTED]   http://www.maths.usyd.edu.au/u/psz/
School of Mathematics and Statistics   University of Sydney    Australia


-- System Information:
Debian Release: 3.1
Architecture: i386 (i686)
Kernel: Linux 2.6.8-spm1.7
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

Versions of packages perl depends on:
ii  libc6                 2.3.2.ds1-22sarge4 GNU C Library: Shared libraries an
ii  libdb4.2              4.2.52-18          Berkeley v4.2 Database Libraries [
ii  libgdbm3              1.8.3-2            GNU dbm database routines (runtime
ii  perl-base             5.8.4-8sarge5      The Pathologically Eclectic Rubbis
ii  perl-modules          5.8.4-8sarge5      Core Perl modules

-- no debconf information


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to