|
|
|
@ -11,7 +11,7 @@ |
|
|
|
|
|
|
|
|
|
namespace cv |
|
|
|
|
{ |
|
|
|
|
std::vector<std::string> Directory::GetListFiles( const std::string& path, const std::string & exten, bool addPath ) |
|
|
|
|
std::vector<std::string> Directory::GetListFiles( const std::string& path, const std::string & exten, bool addPath ) |
|
|
|
|
{ |
|
|
|
|
std::vector<std::string> list; |
|
|
|
|
list.clear(); |
|
|
|
@ -25,10 +25,9 @@ namespace cv |
|
|
|
|
HANDLE hFind; |
|
|
|
|
|
|
|
|
|
#ifdef HAVE_WINRT |
|
|
|
|
size_t size = mbstowcs(NULL, path_f.c_str(), path_f.size()); |
|
|
|
|
Ptr<wchar_t> wpath = new wchar_t[size+1]; |
|
|
|
|
wpath[size] = 0; |
|
|
|
|
mbstowcs(wpath, path_f.c_str(), path_f.size()); |
|
|
|
|
wchar_t wpath[MAX_PATH]; |
|
|
|
|
size_t copied = mbstowcs(wpath, path_f.c_str(), MAX_PATH); |
|
|
|
|
CV_Assert((copied != MAX_PATH) && (copied != (size_t)-1)); |
|
|
|
|
hFind = FindFirstFileExW(wpath, FindExInfoStandard, &FindFileData, FindExSearchNameMatch, NULL, 0); |
|
|
|
|
#else |
|
|
|
|
hFind = FindFirstFileA((LPCSTR)path_f.c_str(), &FindFileData); |
|
|
|
@ -47,12 +46,12 @@ namespace cv |
|
|
|
|
FindFileData.dwFileAttributes == FILE_ATTRIBUTE_SYSTEM || |
|
|
|
|
FindFileData.dwFileAttributes == FILE_ATTRIBUTE_READONLY) |
|
|
|
|
{ |
|
|
|
|
cv::Ptr<char> fname; |
|
|
|
|
char* fname; |
|
|
|
|
#ifdef HAVE_WINRT |
|
|
|
|
size_t asize = wcstombs(NULL, FindFileData.cFileName, 0); |
|
|
|
|
fname = new char[asize+1]; |
|
|
|
|
fname[asize] = 0; |
|
|
|
|
wcstombs(fname, FindFileData.cFileName, asize); |
|
|
|
|
char fname_tmp[MAX_PATH] = {0}; |
|
|
|
|
size_t copied = wcstombs(fname_tmp, FindFileData.cFileName, MAX_PATH); |
|
|
|
|
CV_Assert((copied != MAX_PATH) && (copied != (size_t)-1)); |
|
|
|
|
fname = fname_tmp; |
|
|
|
|
#else |
|
|
|
|
fname = FindFileData.cFileName; |
|
|
|
|
#endif |
|
|
|
@ -109,10 +108,10 @@ namespace cv |
|
|
|
|
HANDLE hFind; |
|
|
|
|
|
|
|
|
|
#ifdef HAVE_WINRT |
|
|
|
|
size_t size = mbstowcs(NULL, path_f.c_str(), path_f.size()); |
|
|
|
|
Ptr<wchar_t> wpath = new wchar_t[size+1]; |
|
|
|
|
wpath[size] = 0; |
|
|
|
|
mbstowcs(wpath, path_f.c_str(), path_f.size()); |
|
|
|
|
wchar_t wpath [MAX_PATH]; |
|
|
|
|
size_t copied = mbstowcs(wpath, path_f.c_str(), path_f.size()); |
|
|
|
|
CV_Assert((copied != MAX_PATH) && (copied != (size_t)-1)); |
|
|
|
|
|
|
|
|
|
hFind = FindFirstFileExW(wpath, FindExInfoStandard, &FindFileData, FindExSearchNameMatch, NULL, 0); |
|
|
|
|
#else |
|
|
|
|
hFind = FindFirstFileA((LPCSTR)path_f.c_str(), &FindFileData); |
|
|
|
@ -135,12 +134,12 @@ namespace cv |
|
|
|
|
strcmp(FindFileData.cFileName, "..") != 0) |
|
|
|
|
#endif |
|
|
|
|
{ |
|
|
|
|
cv::Ptr<char> fname; |
|
|
|
|
char* fname; |
|
|
|
|
#ifdef HAVE_WINRT |
|
|
|
|
size_t asize = wcstombs(NULL, FindFileData.cFileName, 0); |
|
|
|
|
fname = new char[asize+1]; |
|
|
|
|
fname[asize] = 0; |
|
|
|
|
wcstombs(fname, FindFileData.cFileName, asize); |
|
|
|
|
char fname_tmp[MAX_PATH]; |
|
|
|
|
size_t copied = wcstombs(fname, FindFileData.cFileName, MAX_PATH); |
|
|
|
|
CV_Assert((copied != MAX_PATH) && (copied != (size_t)-1)); |
|
|
|
|
fname = fname_tmp; |
|
|
|
|
#else |
|
|
|
|
fname = FindFileData.cFileName; |
|
|
|
|
#endif |
|
|
|
|