]> git.mxchange.org Git - simgear.git/blobdiff - simgear/timing/timezone.cxx
Merge branch 'fredb/winfix'
[simgear.git] / simgear / timing / timezone.cxx
index 60ef96de95c3f98e95bc36638435476fcb9342b6..0b2e74c6c5ad0094a2fcaff6841b5c78f2a56fe8 100644 (file)
@@ -29,6 +29,9 @@
 #include <errno.h>
 #include <string.h>
 #include <stdio.h>
+
+#include <simgear/structure/exception.hxx>
+
 #include "timezone.h"
 
 SGTimeZone::SGTimeZone(float la, float lo, char* cc, char* desc) :
@@ -126,8 +129,9 @@ SGTimeZoneContainer::SGTimeZoneContainer(const char *filename)
     char buffer[256];
     FILE* infile = fopen(filename, "rb");
     if (!(infile)) {
-        fprintf(stderr, "Unable to open file %s\n", filename);
-        exit(1);
+        string e = "Unable to open time zone file '";
+        throw sg_exception(e + filename + '\'');
+
     } else { 
         errno = 0;
     
@@ -151,6 +155,7 @@ SGTimeZoneContainer::SGTimeZoneContainer(const char *filename)
             errno = 0;
         }
     }
+    fclose(infile);
 }
 
 SGTimeZoneContainer::~SGTimeZoneContainer()