Merge of commit 40952.

------------------------------------------------------------------------
r40952 | michael | 2019-01-21 08:16:13 +0000 (Mon, 21 Jan 2019) | 1 line

* Add Unicode/Widestring overload on windows for ResolveRelativeURI
------------------------------------------------------------------------
--- Merging r40952 into '.':
U    packages/fcl-base/src/uriparser.pp
--- Recording mergeinfo for merge of r40952 into '.':
 U   .

git-svn-id: branches/fixes_3_2@40953 -
This commit is contained in:
pierre 2019-01-21 11:17:43 +00:00
parent 8f7e8163a5
commit e85a99b1f8

View File

@ -40,11 +40,11 @@ function EncodeURI(const URI: TURI): String;
function ParseURI(const URI: String; Decode : Boolean = True): TURI; overload; function ParseURI(const URI: String; Decode : Boolean = True): TURI; overload;
function ParseURI(const URI, DefaultProtocol: String; DefaultPort: Word; Decode : Boolean = True): TURI; overload; function ParseURI(const URI, DefaultProtocol: String; DefaultPort: Word; Decode : Boolean = True): TURI; overload;
function ResolveRelativeURI(const BaseUri, RelUri: WideString; function ResolveRelativeURI(const BaseUri, RelUri: UnicodeString;out ResultUri: UnicodeString): Boolean; overload;
out ResultUri: WideString): Boolean; overload; {$ifdef WINDOWS}
function ResolveRelativeURI(const BaseUri, RelUri: WideString; out ResultUri: WideString): Boolean; overload;
function ResolveRelativeURI(const BaseUri, RelUri: AnsiString; {$ENDIF}
out ResultUri: AnsiString): Boolean; overload; function ResolveRelativeURI(const BaseUri, RelUri: AnsiString; out ResultUri: AnsiString): Boolean; overload;
function URIToFilename(const URI: string; out Filename: string): Boolean; function URIToFilename(const URI: string; out Filename: string): Boolean;
function FilenameToURI(const Filename: string; Encode : Boolean = True): string; function FilenameToURI(const Filename: string; Encode : Boolean = True): string;
@ -335,8 +335,7 @@ begin
end; end;
end; end;
function ResolveRelativeURI(const BaseUri, RelUri: AnsiString; function ResolveRelativeURI(const BaseUri, RelUri: AnsiString; out ResultUri: AnsiString): Boolean;
out ResultUri: AnsiString): Boolean;
var var
Base, Rel: TUri; Base, Rel: TUri;
begin begin
@ -384,8 +383,21 @@ begin
ResultUri := EncodeUri(Rel); ResultUri := EncodeUri(Rel);
end; end;
function ResolveRelativeURI(const BaseUri, RelUri: WideString; {$IFDEF WINDOWS}
out ResultUri: WideString): Boolean; function ResolveRelativeURI(const BaseUri, RelUri: WideString; out ResultUri: WideString): Boolean;
Var
Res : AnsiString;
begin
Result := ResolveRelativeURI(UTF8Encode(BaseUri), UTF8Encode(RelUri), Res);
if Result then
ResultURI := UTF8Decode(res);
end;
{$ENDIF}
function ResolveRelativeURI(const BaseUri, RelUri: UnicodeString;
out ResultUri: UnicodeString): Boolean;
var var
rslt: AnsiString; rslt: AnsiString;
begin begin