#!/afs/athena/contrib/perl/p

$add = $ARGV[0];
($addhost, $addport) = split(/:/, $add);

$addport = 80 unless $addport;

$addme = "$addhost:$addport";
@ahost = split(/\./, $addhost);
$revaddme = join('.', reverse @ahost);

open(LIST, "/mit/mkgray/afs/w4/masterlist");
while(<LIST>){
    chop;
    y/A-Z/a-z/;
    if($done){
	$document .= $_."\n";
	next;
    }
    ($host, $port) = split(/:/, $_);
    @host = split(/\./, $host);
    $revhost = join('.', reverse @host);
    if($revaddme eq $revhost && $addme eq $_){
	print("Already knew about that\n");
	exit;
    }
    elsif($revaddme lt $revhost){
#	print("$revaddme is less than $revhost\n");
	$document .= $addme."\n";
	$done = 1;
	$document .= $_."\n";
    }
    else{
#	print("$revaddme is greater than $revhost\n");
	$document .= $_."\n";
    }
}
close(LIST);

$document .= $addme."\n" unless $done;

unlink("/mit/mkgray/afs/w4/masterlist");
open(MLIST, ">/mit/mkgray/afs/w4/masterlist");
print MLIST $document;
close(MLIST);

print("Added $addme\n");
