mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-03 01:04:38 +02:00
27 lines
674 B
PHP
27 lines
674 B
PHP
{%MainUnit fileutil.pas}
|
|
|
|
function ExtractShortPathNameUTF8(const FileName: String): String;
|
|
var
|
|
lPathSize: DWORD;
|
|
WideFileName, WideResult: UnicodeString;
|
|
begin
|
|
// WinCE doesnt have this concept
|
|
{$ifdef WinCE}
|
|
Result := FileName;
|
|
{$else}
|
|
if Win32MajorVersion >= 5 then
|
|
begin
|
|
WideFileName := UTF8ToUTF16(FileName);
|
|
SetLength(WideResult,Max_Path);
|
|
lPathSize := GetShortPathNameW(PWideChar(WideFileName), PWideChar(WideResult), Length(WideResult));
|
|
SetLength(WideResult,lPathSize);
|
|
Result := UTF16ToUTF8(WideResult);
|
|
end
|
|
else
|
|
Result:=LazUTF8.SysToUTF8(SysUtils.ExtractShortPathName(LazUTF8.UTF8ToSys(FileName)));
|
|
{$endif}
|
|
end;
|
|
|
|
|
|
|