MCPcopy Create free account
hub / github.com/ConEmu/ConEmu / GetShortFileName

Function GetShortFileName

src/common/WObjects.cpp:353–386  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

351}
352
353bool GetShortFileName(LPCWSTR asFullPath, int cchShortNameMax, wchar_t* rsShortName/*[MAX_PATH+1]-name only*/, BOOL abFavorLength/*=FALSE*/)
354{
355 WARNING("FindFirstFile использовать нельзя из-за симлинков");
356 WIN32_FIND_DATAW fnd; memset(&fnd, 0, sizeof(fnd));
357 HANDLE hFind = FindFirstFile(asFullPath, &fnd);
358
359 if (hFind == INVALID_HANDLE_VALUE)
360 return false;
361
362 FindClose(hFind);
363
364 if (fnd.cAlternateFileName[0])
365 {
366 if ((abFavorLength && (lstrlenW(fnd.cAlternateFileName) < lstrlenW(fnd.cFileName))) //-V303
367 || (wcschr(fnd.cFileName, L' ') != nullptr))
368 {
369 if (lstrlen(fnd.cAlternateFileName) >= cchShortNameMax) //-V303
370 return false;
371 _wcscpy_c(rsShortName, cchShortNameMax, fnd.cAlternateFileName); //-V106
372 return TRUE;
373 }
374 }
375 else if (wcschr(fnd.cFileName, L' ') != nullptr)
376 {
377 return false;
378 }
379
380 if (lstrlen(fnd.cFileName) >= cchShortNameMax) //-V303
381 return false;
382
383 _wcscpy_c(rsShortName, cchShortNameMax, fnd.cFileName); //-V106
384
385 return true;
386}
387
388CEStr GetShortFileNameEx(LPCWSTR asLong, BOOL abFavorLength/*=TRUE*/)
389{

Callers 1

GetShortFileNameExFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected