--- expire/upact.orig Mon Dec 13 15:53:58 1999 +++ expire/upact Mon Dec 13 15:51:19 1999 @@ -125,7 +125,7 @@ # decide on any extra processing needed extra= case "$what" in -both) extra='$7 != "-" && $7 > $3 { +both) extra='$7 != "-" { # update max from high file s = "000000000000000" $7 len = length($3) @@ -134,7 +134,8 @@ s = substr(s, length(s)-len+1) if (s !~ /^0/) s = "0" s - $3 = s + if ( s > $3 ) + $3 = s }' ;; normal) extra='$3 !~ /^0/ { $3 = "0" $3 }' ;; @@ -157,7 +158,12 @@ else if ($6+0 != $3+0) # oldmax != newmax, race cond! s = $4 # use old value to be safe else # no files and no race - s = $3 + 1 # use max+1 +# s = $3 + 1 # use max+1 + { + s = $3 + sub( "^0*", "", s ) # strip leading 0 + s += 1 # use max+1 + } if (length(s) < 5) { s = "00000" s --- maint/checkactive.orig Mon Dec 13 15:59:31 1999 +++ maint/checkactive Mon Dec 13 16:05:41 1999 @@ -47,7 +47,15 @@ case "$numok" in y) numcheck= ;; n) numcheck='0+$3 == 0 { print where, "field 3 is zero" ; status = 1 } - 1+$2 < 0+$3 { print where, q $2 q, "<", q $3 q ; status = 1 }' + { + s = $2 + sub( "^0*", "", s ) # strip leading 0 + s += 1 # use max+1 + t = $3 + sub( "^0*", "", t ) # strip leading 0 + t += 0 + if ( s < t ) + { print where, q $2 q, "<", q $3 q ; status = 1 }}' ;; esac awk 'BEGIN { status = 0 ; q = "\"" }