[fpc-devel] FExpand function
Michael Van Canneyt
michael at freepascal.org
Sat Mar 4 22:24:29 CET 2006
On Sat, 4 Mar 2006, Joao Morais wrote:
>
> Hello,
>
> Should this comparison (!) be fixed? Seeing that this code is going to
> be changed, what about change Pa[I] assignment from a variable to a
> constant?
The comparison can be fixed.
In fact I think the code can be reduced to a single loop:
if (DirectorySeparator='\') or (DirectorySeparator='/') then
for I:=1 to Length(PA) do
if (Pa[I] in ['\','/']) and (PA[I]<>DirectorySeparator) then
Pa[I]:=DirectorySeparator;
Could you test this, please ?
Michael.
>
> <<rtl/inc/fexpand.inc>>
>
> (* Allow both '/' and '\' as directory separators *)
> (* by converting all to the native one. *)
> if DirectorySeparator = '\' then
> {Allow slash as backslash}
> begin
> for I := 1 to Length (Pa) do
> if Pa [I] = '/' then
> Pa [I] := DirectorySeparator
> end
> else
> ! if DirectorySeparator = '\' then
> {Allow backslash as slash}
> begin
> for I := 1 to Length (Pa) do
> if Pa [I] = '\' then
> Pa [I] := DirectorySeparator;
> end;
>
> Thanks,
> --
> Joao Morais
> _______________________________________________
> fpc-devel maillist - fpc-devel at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-devel
>
More information about the fpc-devel
mailing list