Home | History | Annotate | Line # | Download | only in aptck
      1  1.1  leo #!/usr/bin/awk -f
      2  1.1  leo #
      3  1.1  leo # $NetBSD: setrev.awk,v 1.1 1996/01/16 15:15:55 leo Exp $
      4  1.1  leo #
      5  1.1  leo function revcmp(r1, r2,    n1, n2, a1, a2, n, i) {
      6  1.1  leo 	n1 = split(r1, a1, "\.")
      7  1.1  leo 	n2 = split(r2, a2, "\.")
      8  1.1  leo 	n = (n1 < n2) ? n1 : n2
      9  1.1  leo 
     10  1.1  leo 	for (i = 1; i <= n; ++i) {
     11  1.1  leo 		if (a1[i] != a2[i])
     12  1.1  leo 			return(a1[i] - a2[i])
     13  1.1  leo 	}
     14  1.1  leo 	if (n1 != n2)
     15  1.1  leo 		return(n1 - n2)
     16  1.1  leo 	return(0)
     17  1.1  leo }
     18  1.1  leo 
     19  1.1  leo BEGIN {
     20  1.1  leo 	destfile = ARGV[1]
     21  1.1  leo 	rev = "0.0"
     22  1.1  leo }
     23  1.1  leo 
     24  1.1  leo {
     25  1.1  leo 	if (revcmp($4, rev) > 0)
     26  1.1  leo 		rev = $4
     27  1.1  leo 	next file
     28  1.1  leo }
     29  1.1  leo 
     30  1.1  leo END {
     31  1.1  leo 	while ((e = getline <destfile) > 0) {
     32  1.1  leo 		if (/"\$Revision.*\$"/)
     33  1.1  leo 			sub("\\\$Revision.*\\\$", "Revision " rev)
     34  1.1  leo 		print
     35  1.1  leo 	}
     36  1.1  leo 	if (e)
     37  1.1  leo 		exit(1)
     38  1.1  leo 	exit(0)
     39  1.1  leo }
     40