diff options
author | Chih-Hung Hsieh <chh@google.com> | 2014-11-14 14:14:17 -0800 |
---|---|---|
committer | Chih-Hung Hsieh <chh@google.com> | 2014-11-14 14:14:17 -0800 |
commit | 43970ad94d9b2631dc2ebe470e2a256264657b20 (patch) | |
tree | 1fb06045310a781f7b3e05562763b1a03c18f28c | |
parent | 4a99e243b42afcb885d036bb451eb3c2739275b6 (diff) | |
download | opencv-43970ad94d9b2631dc2ebe470e2a256264657b20.tar.gz |
Fix clang compiler warnings.
* Assigning to temp3 in two sub-expressions is
incorrectly depending on evaluation order.
* Comparing array to null is always true.
Change-Id: I095a395995917a0f281b1ea582e9d7eddd23a2ff
-rw-r--r-- | cvaux/src/cvcalibfilter.cpp | 91 | ||||
-rw-r--r-- | cvaux/src/cvdpstereo.cpp | 8 |
2 files changed, 49 insertions, 50 deletions
diff --git a/cvaux/src/cvcalibfilter.cpp b/cvaux/src/cvcalibfilter.cpp index e6c4fc8..bc8f821 100644 --- a/cvaux/src/cvcalibfilter.cpp +++ b/cvaux/src/cvcalibfilter.cpp @@ -518,64 +518,61 @@ void CvCalibFilter::DrawPoints( CvMat** dstarr ) return; } - if( latestCounts ) + for( i = 0; i < cameraCount; i++ ) { - for( i = 0; i < cameraCount; i++ ) + if( dstarr[i] && latestCounts[i] ) { - if( dstarr[i] && latestCounts[i] ) - { - CvMat dst_stub, *dst; - int count = 0; - bool found = false; - CvPoint2D32f* pts = 0; + CvMat dst_stub, *dst; + int count = 0; + bool found = false; + CvPoint2D32f* pts = 0; - GetLatestPoints( i, &pts, &count, &found ); + GetLatestPoints( i, &pts, &count, &found ); - dst = cvGetMat( dstarr[i], &dst_stub ); + dst = cvGetMat( dstarr[i], &dst_stub ); - static const CvScalar line_colors[] = - { - {{0,0,255}}, - {{0,128,255}}, - {{0,200,200}}, - {{0,255,0}}, - {{200,200,0}}, - {{255,0,0}}, - {{255,0,255}} - }; - - const int colorCount = sizeof(line_colors)/sizeof(line_colors[0]); - const int r = 4; - CvScalar color = line_colors[0]; - CvPoint prev_pt = { 0, 0}; - - for( j = 0; j < count; j++ ) - { - CvPoint pt; - pt.x = cvRound(pts[j].x); - pt.y = cvRound(pts[j].y); + static const CvScalar line_colors[] = + { + {{0,0,255}}, + {{0,128,255}}, + {{0,200,200}}, + {{0,255,0}}, + {{200,200,0}}, + {{255,0,0}}, + {{255,0,255}} + }; + + const int colorCount = sizeof(line_colors)/sizeof(line_colors[0]); + const int r = 4; + CvScalar color = line_colors[0]; + CvPoint prev_pt = { 0, 0}; + + for( j = 0; j < count; j++ ) + { + CvPoint pt; + pt.x = cvRound(pts[j].x); + pt.y = cvRound(pts[j].y); - if( found ) - { - if( etalonType == CV_CALIB_ETALON_CHESSBOARD ) - color = line_colors[(j/cvRound(etalonParams[0]))%colorCount]; - else - color = CV_RGB(0,255,0); + if( found ) + { + if( etalonType == CV_CALIB_ETALON_CHESSBOARD ) + color = line_colors[(j/cvRound(etalonParams[0]))%colorCount]; + else + color = CV_RGB(0,255,0); - if( j != 0 ) - cvLine( dst, prev_pt, pt, color, 1, CV_AA ); - } + if( j != 0 ) + cvLine( dst, prev_pt, pt, color, 1, CV_AA ); + } - cvLine( dst, cvPoint( pt.x - r, pt.y - r ), - cvPoint( pt.x + r, pt.y + r ), color, 1, CV_AA ); + cvLine( dst, cvPoint( pt.x - r, pt.y - r ), + cvPoint( pt.x + r, pt.y + r ), color, 1, CV_AA ); - cvLine( dst, cvPoint( pt.x - r, pt.y + r), - cvPoint( pt.x + r, pt.y - r), color, 1, CV_AA ); + cvLine( dst, cvPoint( pt.x - r, pt.y + r), + cvPoint( pt.x + r, pt.y - r), color, 1, CV_AA ); - cvCircle( dst, pt, r+1, color, 1, CV_AA ); + cvCircle( dst, pt, r+1, color, 1, CV_AA ); - prev_pt = pt; - } + prev_pt = pt; } } } diff --git a/cvaux/src/cvdpstereo.cpp b/cvaux/src/cvdpstereo.cpp index 3527809..ce322d6 100644 --- a/cvaux/src/cvdpstereo.cpp +++ b/cvaux/src/cvdpstereo.cpp @@ -76,8 +76,10 @@ typedef struct _CvRightImData uchar min_val, max_val; } _CvRightImData; -#define CV_IMAX3(a,b,c) ((temp3 = (a) >= (b) ? (a) : (b)),(temp3 >= (c) ? temp3 : (c))) -#define CV_IMIN3(a,b,c) ((temp3 = (a) <= (b) ? (a) : (b)),(temp3 <= (c) ? temp3 : (c))) +// When CV_IMAX3 and CV_IMIN3 are used in the same expression, the evulation +// order is undefined, and they should not assign to the same temporary variable. +#define CV_IMAX3(a,b,c) ((max3 = (a) >= (b) ? (a) : (b)),(max3 >= (c) ? max3 : (c))) +#define CV_IMIN3(a,b,c) ((min3 = (a) <= (b) ? (a) : (b)),(min3 <= (c) ? min3 : (c))) void icvFindStereoCorrespondenceByBirchfieldDP( uchar* src1, uchar* src2, uchar* disparities, @@ -87,7 +89,7 @@ void icvFindStereoCorrespondenceByBirchfieldDP( uchar* src1, uchar* src2, float _param3, float _param4, float _param5 ) { - int x, y, i, j, temp3; + int x, y, i, j, max3, min3; int d, s; int dispH = maxDisparity + 3; uchar *dispdata; |