Blame test/ofmt.awk

Packit 575503
# From dragon!knorke.saar.de!florian Wed Jul 16 10:47:27 1997
Packit 575503
# Return-Path: <dragon!knorke.saar.de!florian>
Packit 575503
# Message-ID: <19970716164451.63610@knorke.saar.de>
Packit 575503
# Date: Wed, 16 Jul 1997 16:44:51 +0200
Packit 575503
# From: Florian La Roche <florian@knorke.saar.de>
Packit 575503
# To: bug-gnu-utils@prep.ai.mit.edu
Packit 575503
# CC: arnold@gnu.ai.mit.edu
Packit 575503
# Subject: bug in gawk 3.0.3
Packit 575503
# MIME-Version: 1.0
Packit 575503
# Content-Type: text/plain; charset=us-ascii
Packit 575503
# X-Mailer: Mutt 0.76
Packit 575503
# Status: R
Packit 575503
# Content-Length: 1725
Packit 575503
# X-Lines: 177
Packit 575503
# X-Display-Position: 0
Packit 575503
# 
Packit 575503
# I have a problem with gawk 3.0.3 on linux with libc 5.4.33.
Packit 575503
# The memory is corrupted, if I use OFMT = "%.12g".
Packit 575503
# With OFMT = "%.6g" evrything works fine, but I don't have enough
Packit 575503
# digits for the computation.
Packit 575503
# 
Packit 575503
# Thanks a lot,
Packit 575503
# Florian La Roche
Packit 575503
# 
Packit 575503
# Here is the sample awk-Script together with sample data:
Packit 575503
# 
Packit 575503
BEGIN {
Packit 575503
		OFMT = "%.12g"
Packit 575503
		big = 99999999999
Packit 575503
		lowest = big
Packit 575503
		small = 0
Packit 575503
		highest = small
Packit 575503
		dir = ""
Packit 575503
	}
Packit 575503
$0 ~ /^[0-9]+$/ {
Packit 575503
	# some old awks do not think $0 is numeric, so use $1
Packit 575503
	if ($1 < lowest)
Packit 575503
		lowest = $1
Packit 575503
	if ($1 > highest)
Packit 575503
		highest = $1
Packit 575503
	next
Packit 575503
}
Packit 575503
$0 ~ /\/\.:$/ {
Packit 575503
	if (dir != "") {
Packit 575503
		if (highest != small)
Packit 575503
			print dir, highest, lowest
Packit 575503
		else
Packit 575503
			print dir, "-", "-"
Packit 575503
	}
Packit 575503
	dir = substr($0, 1, length($0)-3)	# trim off /.:
Packit 575503
	lowest = big
Packit 575503
	highest = small
Packit 575503
}