Fixed warnings about unused return value of fread
authorAndrey Kamaev <no@email>
Tue, 10 Apr 2012 15:12:08 +0000 (15:12 +0000)
committerAndrey Kamaev <no@email>
Tue, 10 Apr 2012 15:12:08 +0000 (15:12 +0000)
apps/haartraining/cvhaartraining.cpp
apps/haartraining/cvsamples.cpp
apps/traincascade/imagestorage.cpp
modules/features2d/test/test_features2d.cpp
modules/nonfree/test/test_features2d.cpp
modules/objdetect/src/haar.cpp
modules/objdetect/src/lsvmparser.cpp

index 348686a..dc9f3ac 100644 (file)
@@ -1854,9 +1854,11 @@ int icvGetHaarTraininDataFromVecCallback( CvMat* img, void* userdata )
 
     assert( img->rows * img->cols == ((CvVecFile*) userdata)->vecsize );
     
-    fread( &tmp, sizeof( tmp ), 1, ((CvVecFile*) userdata)->input );
-    fread( ((CvVecFile*) userdata)->vector, sizeof( short ),
+    size_t elements_read = fread( &tmp, sizeof( tmp ), 1, ((CvVecFile*) userdata)->input );
+    CV_Assert(elements_read == 1);
+    elements_read = fread( ((CvVecFile*) userdata)->vector, sizeof( short ),
            ((CvVecFile*) userdata)->vecsize, ((CvVecFile*) userdata)->input );
+    CV_Assert(elements_read == (size_t)((CvVecFile*) userdata)->vecsize);
     
     if( feof( ((CvVecFile*) userdata)->input ) || 
         (((CvVecFile*) userdata)->last)++ >= ((CvVecFile*) userdata)->count )
@@ -1919,10 +1921,12 @@ int icvGetHaarTrainingDataFromVec( CvHaarTrainingData* data, int first, int coun
 
     if( file.input != NULL )
     {
-        fread( &file.count, sizeof( file.count ), 1, file.input );
-        fread( &file.vecsize, sizeof( file.vecsize ), 1, file.input );
-        fread( &tmp, sizeof( tmp ), 1, file.input );
-        fread( &tmp, sizeof( tmp ), 1, file.input );
+        size_t elements_read1 = fread( &file.count, sizeof( file.count ), 1, file.input );
+        size_t elements_read2 = fread( &file.vecsize, sizeof( file.vecsize ), 1, file.input );
+        size_t elements_read3 = fread( &tmp, sizeof( tmp ), 1, file.input );
+        size_t elements_read4 = fread( &tmp, sizeof( tmp ), 1, file.input );
+        CV_Assert(elements_read1 == 1 && elements_read2 == 1 && elements_read3 == 1 && elements_read4 == 1);
+
         if( !feof( file.input ) )
         {
             if( file.vecsize != data->winsize.width * data->winsize.height )
@@ -1970,10 +1974,11 @@ int icvGetHaarTrainingDataFromBG( CvHaarTrainingData* data, int first, int count
 
         if( file.input != NULL )
         {
-            fread( &file.count, sizeof( file.count ), 1, file.input );
-            fread( &file.vecsize, sizeof( file.vecsize ), 1, file.input );
-            fread( &tmp, sizeof( tmp ), 1, file.input );
-            fread( &tmp, sizeof( tmp ), 1, file.input );
+            size_t elements_read1 = fread( &file.count, sizeof( file.count ), 1, file.input );
+            size_t elements_read2 = fread( &file.vecsize, sizeof( file.vecsize ), 1, file.input );
+            size_t elements_read3 = fread( &tmp, sizeof( tmp ), 1, file.input );
+            size_t elements_read4 = fread( &tmp, sizeof( tmp ), 1, file.input );
+            CV_Assert(elements_read1 == 1 && elements_read2 == 1 && elements_read3 == 1 && elements_read4 == 1);
             if( !feof( file.input ) )
             {
                 if( file.vecsize != data->winsize.width * data->winsize.height )
index 39313ec..2702384 100644 (file)
@@ -884,10 +884,11 @@ void cvShowVecSamples( const char* filename, int winwidth, int winheight,
 
     if( file.input != NULL )
     {
-        fread( &file.count, sizeof( file.count ), 1, file.input );
-        fread( &file.vecsize, sizeof( file.vecsize ), 1, file.input );
-        fread( &tmp, sizeof( tmp ), 1, file.input );
-        fread( &tmp, sizeof( tmp ), 1, file.input );
+        size_t elements_read1 = fread( &file.count, sizeof( file.count ), 1, file.input );
+        size_t elements_read2 = fread( &file.vecsize, sizeof( file.vecsize ), 1, file.input );
+        size_t elements_read3 = fread( &tmp, sizeof( tmp ), 1, file.input );
+        size_t elements_read4 = fread( &tmp, sizeof( tmp ), 1, file.input );
+        CV_Assert(elements_read1 == 1 && elements_read2 == 1 && elements_read3 == 1 && elements_read4 == 1);
 
         if( file.vecsize != winwidth * winheight )
         {
index 77d50d4..64089c6 100644 (file)
@@ -150,8 +150,10 @@ bool CvCascadeImageReader::PosReader::get( Mat &_img )
 {
     CV_Assert( _img.rows * _img.cols == vecSize );
     uchar tmp = 0;
-    fread( &tmp, sizeof( tmp ), 1, file );
-    fread( vec, sizeof( vec[0] ), vecSize, file );
+    size_t elements_read = fread( &tmp, sizeof( tmp ), 1, file );
+    CV_Assert(elements_read == 1);
+    elements_read = fread( vec, sizeof( vec[0] ), vecSize, file );
+    CV_Assert(elements_read == (size_t)(vecSize));
 
     if( feof( file ) || last++ >= count )
         return false;
index 8c5fc6f..36052e9 100644 (file)
@@ -269,13 +269,15 @@ static Mat readMatFromBin( const string& filename )
     if( f )
     {
         int rows, cols, type, dataSize;
-        fread( (void*)&rows, sizeof(int), 1, f );
-        fread( (void*)&cols, sizeof(int), 1, f );
-        fread( (void*)&type, sizeof(int), 1, f );
-        fread( (void*)&dataSize, sizeof(int), 1, f );
+        size_t elements_read1 = fread( (void*)&rows, sizeof(int), 1, f );
+        size_t elements_read2 = fread( (void*)&cols, sizeof(int), 1, f );
+        size_t elements_read3 = fread( (void*)&type, sizeof(int), 1, f );
+        size_t elements_read4 = fread( (void*)&dataSize, sizeof(int), 1, f );
+        CV_Assert(elements_read1 == 1 && elements_read2 == 1 && elements_read3 == 1 && elements_read4 == 1);
 
         uchar* data = (uchar*)cvAlloc(dataSize);
-        fread( (void*)data, 1, dataSize, f );
+        size_t elements_read = fread( (void*)data, 1, dataSize, f );
+        CV_Assert(elements_read == (size_t)(dataSize));
         fclose(f);
 
         return Mat( rows, cols, type, data );
index 5d7afa8..80eb900 100644 (file)
@@ -268,13 +268,15 @@ static Mat readMatFromBin( const string& filename )
     if( f )
     {
         int rows, cols, type, dataSize;
-        fread( (void*)&rows, sizeof(int), 1, f );
-        fread( (void*)&cols, sizeof(int), 1, f );
-        fread( (void*)&type, sizeof(int), 1, f );
-        fread( (void*)&dataSize, sizeof(int), 1, f );
+        size_t elements_read1 = fread( (void*)&rows, sizeof(int), 1, f );
+        size_t elements_read2 = fread( (void*)&cols, sizeof(int), 1, f );
+        size_t elements_read3 = fread( (void*)&type, sizeof(int), 1, f );
+        size_t elements_read4 = fread( (void*)&dataSize, sizeof(int), 1, f );
+        CV_Assert(elements_read1 == 1 && elements_read2 == 1 && elements_read3 == 1 && elements_read4 == 1);
 
         uchar* data = (uchar*)cvAlloc(dataSize);
-        fread( (void*)data, 1, dataSize, f );
+        size_t elements_read = fread( (void*)data, 1, dataSize, f );
+        CV_Assert(elements_read == (size_t)(dataSize));
         fclose(f);
 
         return Mat( rows, cols, type, data );
index 4c0fa49..f6c7d61 100644 (file)
@@ -1500,7 +1500,8 @@ cvLoadHaarClassifierCascade( const char* directory, CvSize orig_window_size )
         fseek( f, 0, SEEK_END );
         size = ftell( f );
         fseek( f, 0, SEEK_SET );
-        fread( ptr, 1, size, f );
+        size_t elements_read = fread( ptr, 1, size, f );
+        CV_Assert(elements_read == (size_t)(size));
         fclose(f);
         input_cascade[i] = ptr;
         ptr += size;
index e4ad85f..46c8d9e 100644 (file)
@@ -244,7 +244,8 @@ void parserRFilter  (FILE * xmlf, int p, CvLSVMFilterObject * model, float *b){
                 }\r
                 if(tagVal == WEIGHTS){\r
                     data = (double *)malloc( sizeof(double) * p * sizeX * sizeY);\r
-                    fread(data, sizeof(double), p * sizeX * sizeY, xmlf);\r
+                    size_t elements_read = fread(data, sizeof(double), p * sizeX * sizeY, xmlf);\r
+                    CV_Assert(elements_read == (size_t)(p * sizeX * sizeY));\r
                     model->H = (float *)malloc(sizeof(float)* p * sizeX * sizeY);\r
                     for(ii = 0; ii < p * sizeX * sizeY; ii++){\r
                         model->H[ii] = (float)data[ii];\r
@@ -502,7 +503,8 @@ void parserPFilter  (FILE * xmlf, int p, int /*N_path*/, CvLSVMFilterObject * mo
                 }\r
                 if(tagVal == WEIGHTS){\r
                     data = (double *)malloc( sizeof(double) * p * sizeX * sizeY);\r
-                    fread(data, sizeof(double), p * sizeX * sizeY, xmlf);\r
+                    size_t elements_read = fread(data, sizeof(double), p * sizeX * sizeY, xmlf);\r
+                    CV_Assert(elements_read == (size_t)(p * sizeX * sizeY));\r
                     model->H = (float *)malloc(sizeof(float)* p * sizeX * sizeY);\r
                     for(ii = 0; ii < p * sizeX * sizeY; ii++){\r
                         model->H[ii] = (float)data[ii];\r