Skip Menu |

This queue is for tickets about the Filesys-DiskSpace CPAN distribution.

Report information
The Basics
Id: 18809
Status: new
Priority: 0/
Queue: Filesys-DiskSpace

People
Owner: Nobody in particular
Requestors: amd64 [...] example.com
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in: 0.05
Fixed in: (no value)



Subject: Does not work properly on 64 bit systems
After running the SYS_statfs system call, the data comes back in $fmt, which is assumed to be packed as 7 longs. On 64 bit systems, however, this will come back as 7 quads. This causes it to misreport all of the return values, and will most likely make them all zeros (kbytes used, kbytes free.) The change would be else { printf "raw L7 %s\n", join " ", unpack "L7", $fmt if $DEBUG && $DEBUG > 1; ($type, $bsize, $blocks, $bfree, $bavail, $files, $ffree) = unpack "L7", $fmt; } to else { printf "raw Q7 %s\n", join " ", unpack "Q7", $fmt if $DEBUG && $DEBUG > 1; ($type, $bsize, $blocks, $bfree, $bavail, $files, $ffree) = unpack "Q7", $fmt; } around line 110. How this should best be chosen at run time I don't know.