Browse Source

Handle properly when a file is unreadable

Ask Bjørn Hansen 12 years ago
parent
commit
bd1b2fcc86
1 changed files with 5 additions and 3 deletions
  1. 5 3
      zones.go

+ 5 - 3
zones.go

@@ -61,10 +61,12 @@ func zonesReadDir(dirName string, zones Zones) error {
 			//log.Println("FILE:", i, file, zoneName)
 			//log.Println("FILE:", i, file, zoneName)
 			config, err := readZoneFile(zoneName, path.Join(dirName, fileName))
 			config, err := readZoneFile(zoneName, path.Join(dirName, fileName))
 			if config == nil || err != nil {
 			if config == nil || err != nil {
-				log.Println("Caught an error")
+				log.Println("Caught an error", err)
+				if config == nil {
+					config = new(Zone)
+				}
 				config.LastRead = file.ModTime()
 				config.LastRead = file.ModTime()
 				zones[zoneName] = config
 				zones[zoneName] = config
-				log.Println(err)
 				parse_err = err
 				parse_err = err
 				continue
 				continue
 			}
 			}
@@ -82,7 +84,7 @@ func zonesReadDir(dirName string, zones Zones) error {
 		if ok, _ := seenZones[zoneName]; ok {
 		if ok, _ := seenZones[zoneName]; ok {
 			continue
 			continue
 		}
 		}
-		log.Println("Removing zone", zone.Origin)
+		log.Println("Removing zone", zoneName, zone.Origin)
 		dns.HandleRemove(zoneName)
 		dns.HandleRemove(zoneName)
 		delete(zones, zoneName)
 		delete(zones, zoneName)
 	}
 	}