mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-21 13:09:32 +02:00
* Optimize ExtractFileUnitName
This commit is contained in:
parent
2123c59941
commit
5769d737d1
@ -1325,7 +1325,7 @@ function FilenameIsWinAbsolute(const TheFilename: String): boolean;
|
||||
function FilenameIsUnixAbsolute(const TheFilename: String): boolean;
|
||||
function IsNamedToken(Const AToken : TPasScannerString; Out T : TToken) : Boolean;
|
||||
Function ExtractFilenameOnly(Const AFileName : String) : String;
|
||||
function ExtractFileUnitName(aFilename: String): String;
|
||||
function ExtractFileUnitName(const aFilename: String): String;
|
||||
|
||||
procedure CreateMsgArgs(var MsgArgs: TMessageArgs; Args: array of const);
|
||||
function SafeFormat(const Fmt: String; Args: array of const): String;
|
||||
@ -1337,6 +1337,12 @@ procedure ReadNextPascalToken(var Position: PChar; out TokenStart: PChar;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
{$IFDEF FPC_DOTTEDUNITS}
|
||||
System.StrUtils;
|
||||
{$ELSE}
|
||||
strutils;
|
||||
{$ENDIF}
|
||||
const
|
||||
IdentChars = ['0'..'9', 'A'..'Z', 'a'..'z','_'];
|
||||
Digits = ['0'..'9'];
|
||||
@ -1354,21 +1360,16 @@ begin
|
||||
Result:=ChangeFileExt(ExtractFileName(aFileName),'');
|
||||
end;
|
||||
|
||||
function ExtractFileUnitName(aFilename: String): String;
|
||||
function ExtractFileUnitName(const aFilename: String): String;
|
||||
var
|
||||
p: Integer;
|
||||
begin
|
||||
Result:=ExtractFileName(aFilename);
|
||||
if Result='' then exit;
|
||||
for p:=length(Result) downto 1 do
|
||||
case Result[p] of
|
||||
'/','\': exit;
|
||||
'.':
|
||||
begin
|
||||
SetLength(Result, p-1);
|
||||
exit;
|
||||
end;
|
||||
end;
|
||||
if Result='' then
|
||||
exit;
|
||||
p:=rpos('.',Result);
|
||||
if p>0 then
|
||||
SetLength(Result, p-1);
|
||||
end;
|
||||
|
||||
Procedure SortTokenInfo;
|
||||
|
Loading…
Reference in New Issue
Block a user