| 167 | return msg; |
| 168 | } |
| 169 | string normalizeFileName ( const char * fileName ) { |
| 170 | char buffer[MAX_PATH ]; |
| 171 | auto ret = GetFullPathNameA(fileName,MAX_PATH,buffer,nullptr); |
| 172 | if ( !ret ) return ""; |
| 173 | string result = buffer; |
| 174 | // GetFullPathNameA may leave a trailing backslash for directory |
| 175 | // paths (e.g. "./" -> "D:\foo\"). Trim it for consistency. |
| 176 | if ( result.size()>3 && (result.back()=='\\' || result.back()=='/') ) |
| 177 | result.pop_back(); |
| 178 | return result; |
| 179 | } |
| 180 | bool closeLibrary ( void * module ) { |
| 181 | return FreeLibrary(HMODULE(module)); |
| 182 | } |
no test coverage detected