prepare for the release of rrdtool-1.2.9
[rrdtool.git] / src / rrd_open.c
index 98a52e0..2b0f303 100644 (file)
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * RRDtool 1.2.0  Copyright by Tobi Oetiker, 1997-2005
+ * RRDtool 1.2.9  Copyright by Tobi Oetiker, 1997-2005
  *****************************************************************************
  * rrd_open.c  Open an RRD File
  *****************************************************************************
@@ -78,17 +78,9 @@ rrd_open(const char *file_name, FILE **in_file, rrd_t *rrd, int rdwr)
     
     rrd_init(rrd);
     if (rdwr == RRD_READONLY) {
-#if defined(WIN32)
        mode = "rb";
-#else
-       mode = "r";
-#endif
     } else {
-#if defined(WIN32)
        mode = "rb+";
-#else
-       mode = "r+";
-#endif
     }
     
     if (((*in_file) = fopen(file_name,mode)) == NULL ){
@@ -109,11 +101,17 @@ rrd_open(const char *file_name, FILE **in_file, rrd_t *rrd, int rdwr)
     if ((MYVAR = malloc(sizeof(MYVART) * MYCNT)) == NULL) {\
        rrd_set_error("" #MYVAR " malloc"); \
         fclose(*in_file); \
-    return (-1); } \
+        return (-1); } \
     fread(MYVAR,sizeof(MYVART),MYCNT, *in_file); 
 
 
     MYFREAD(rrd->stat_head, stat_head_t,  1)
+    /* lets see if the first read worked */
+    if (ferror( *in_file )){
+       rrd_set_error("reading the cookie off %s faild",file_name);
+       fclose(*in_file);
+       return(-1);
+    }  
     version = atoi(rrd->stat_head->version);
 
        /* lets do some test if we are on track ... */