- return [run "zone `$zone(name)' in view `$zone(mapped-view)'" \
- $zone(signzone-command) \
- "%z" $zone(name) \
- "%f" $zone(file-name) \
- "%o" $zone(server-file-name) \
- "%q" $soafmt]
+ set outfile "$zone(server-file-name).new"
+ if {![run "zone `$zone(name)' in view `$zone(mapped-view)'" \
+ $zone(signzone-command) \
+ "%h" $zone(home-dir) \
+ "%m" $zone(static-dir) \
+ "%s" $zone(dynamic-dir) \
+ "%z" $zone(name) \
+ "%f" $infile \
+ "%o" $outfile \
+ "%q" $soafmt]} {
+ file delete -force $outfile
+ return false
+ }
+ file rename -force $outfile $zone(server-file-name)
+ return true