#!/usr/local/bin/perl

$default_class = 'westnet';

open (STDERR, ">&STDOUT");
select ((select(STDOUT), $| = 1)[0]); # Syncronize STDOUT
select ((select(STDERR), $| = 1)[0]); # with STDERR

($dns_lib = $0) =~ s:(^|/)[^/]*$::;
($script=$0) =~ s:^.*/([^/]*)$:$1:;	# Get the simple name of this script.

push (@INC, $dns_lib);

require 5.0;
require 'dns_lib.perl';

umask 0117;

@dirs = ();

push (@dirs, $tree_root);

while ($current = pop (@dirs)) {

    $zone = $current;
    $zone =~ s/^$tree_root\/*//o;
    $zone = join ('.', reverse (split ('/', $zone)));

    opendir (DIR, $current);
    @files = readdir (DIR);
    closedir (DIR);

    foreach $file (@files) {

	next if $file eq 'RCS';
	next if $file =~ m/^\.\.?$/;

	if (-d "$current/$file") {

	    print " DIR: $current/$file\n";
	    push (@dirs, "$current/$file");

	}

	if (("$file" eq '.primary') || ("$file" eq '.soa')) {

	    print "FILE: $current/$file\n";
	    rcs_co ("$zone", "$file");
	    open (FILE, "$current/$file") || die "Cannot open $current/$file: $!\n";
	    open (TMP, ">$current/$file.tmp") || die "Cannot open $current/$file.tmp: $!\n";

	    while (<FILE>) {

		s/ns.utah.edu/ns.k12.ut.us/go;
		print TMP $_;

	    }

	    close FILE;
	    close TMP;

	    rename ("$current/$file", "$current/$file.old");
	    rename ("$current/$file.tmp", "$current/$file");

	    rcs_ci ("$zone", "$file", "Script: $script -- Fixing NS and SOA Recs.");

	}
	    
    }

}

exit;

