perl-5.8.0/cnfsstat

Weber, Markus fvd at de.kpn-eurorings.net
Thu Nov 7 12:57:29 UTC 2002



Hi, this might be a duplicate of

http://marc.theaimsgroup.com/?l=3Dinn-workers&m=3D102925659707682&w=3D2

with just some minor additions. Plattform: Solaris 8, perl-5.8.0,
gcc 3.2, inn-2.3.3.

Symptoms:	cnfsstat generates inaccurate output (rounding errors)

Analysis:	The problem seems to be of some changes in perl-5.8.0
		and the return of BigInts (sorry, I'm not a perl guy,
		but this is the stripped down example):

			use Math::BigInt;
				sub d1 { my $i =3D new Math::BigInt '20483';
				  $i =3D~ s/^\+//; return $i}
			printf d1() / 7.0;

		With perl-5.8.0 this prints an integer, while with for-
		mer version it was a float. Thus human_printable in
		cnfsstat fails and prints values rounded downwards to
		the last integer. Might be at the end a perl problem?

Workaround:	For me it was sufficient to change in bhex
		   my $integerValue =3D new Math::BigInt '0';
		into
		   my $integerValue =3D 0; #new Math::BigInt '0';
		but this might break the with larger files ...

Markus
--=20
[KPN Euro(rings|link)  *  Emmy-Noether-Str. 9  *  D--76131 Karlsruhe]=20
[E] Markus Weber <fvd at de.kpn-eurorings.net> / <fvd at kpn-eurolinks.net>
[T] +49 721 9652 213 [F] +49 721 9652 171 [IRC] FvD [P] <fvd at icmp.de>


More information about the inn-bugs mailing list