| 98 | } |
| 99 | |
| 100 | dirent* readdir(DIR* dir) |
| 101 | { |
| 102 | #ifdef HAVE_WINRT |
| 103 | if (dir->ent.d_name != 0) |
| 104 | { |
| 105 | if (::FindNextFileW(dir->handle, &dir->data) != TRUE) |
| 106 | return 0; |
| 107 | } |
| 108 | size_t asize = wcstombs(NULL, dir->data.cFileName, 0); |
| 109 | CV_Assert((asize != 0) && (asize != (size_t)-1)); |
| 110 | char* aname = new char[asize+1]; |
| 111 | aname[asize] = 0; |
| 112 | wcstombs(aname, dir->data.cFileName, asize); |
| 113 | dir->ent.d_name = aname; |
| 114 | #else |
| 115 | if (dir->ent.d_name != 0) |
| 116 | { |
| 117 | if (::FindNextFileA(dir->handle, &dir->data) != TRUE) |
| 118 | return 0; |
| 119 | } |
| 120 | dir->ent.d_name = dir->data.cFileName; |
| 121 | #endif |
| 122 | return &dir->ent; |
| 123 | } |
| 124 | |
| 125 | void closedir(DIR* dir) |
| 126 | { |
no outgoing calls
no test coverage detected