Index: opencv-2.4.9.1+dfsg1/modules/ts/src/ts.cpp =================================================================== --- opencv-2.4.9.1+dfsg1.orig/modules/ts/src/ts.cpp +++ opencv-2.4.9.1+dfsg1/modules/ts/src/ts.cpp @@ -562,7 +562,7 @@ void TS::vprintf( int streams, const cha for( int i = 0; i < MAX_IDX; i++ ) if( (streams & (1 << i)) ) { - output_buf[i] += std::string(str); + output_buf[i] += ::std::string(str); // in the new GTest-based framework we do not use // any output files (except for the automatically generated xml report). // if a test fails, all the buffers are printed, so we do not want to duplicate the information and @@ -617,7 +617,7 @@ void smoothBorder(Mat& img, const Scalar Scalar s; uchar *p = NULL; int n = 100/delta; - int nR = std::min(n, (img.rows+1)/2), nC = std::min(n, (img.cols+1)/2); + int nR = ::std::min(n, (img.rows+1)/2), nC = ::std::min(n, (img.cols+1)/2); int r, c, i; for(r=0; r #else #include + #include #endif namespace cv @@ -72,14 +73,18 @@ namespace cv (void)addPath; DIR *dp; struct dirent *dirp; + int dfd; + struct stat st; if((dp = opendir(path.c_str())) == NULL) { return list; } + dfd = dirfd(dp); while ((dirp = readdir(dp)) != NULL) { - if (dirp->d_type == DT_REG) + if ((0 == fstatat(dfd, dirp->d_name, &st, 0)) && + S_ISREG(st.st_mode)) { if (exten.compare("*") == 0) list.push_back(static_cast(dirp->d_name)); @@ -162,14 +167,18 @@ namespace cv (void)addPath; DIR *dp; struct dirent *dirp; + int dfd; + struct stat st; if((dp = opendir(path_f.c_str())) == NULL) { return list; } + dfd = dirfd(dp); while ((dirp = readdir(dp)) != NULL) { - if (dirp->d_type == DT_DIR && + if ((0 == fstatat(dfd, dirp->d_name, &st, 0)) && + S_ISDIR(st.st_mode) && strcmp(dirp->d_name, ".") != 0 && strcmp(dirp->d_name, "..") != 0 ) {