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, DefaultProtocol: String; DefaultPort: Word; Decode : Boolean = True): TURI; overload;
function ResolveRelativeURI(const BaseUri, RelUri: WideString;
out ResultUri: WideString): Boolean; overload;
function ResolveRelativeURI(const BaseUri, RelUri: AnsiString;
out ResultUri: AnsiString): Boolean; overload;
function ResolveRelativeURI(const BaseUri, RelUri: UnicodeString;out ResultUri: UnicodeString): Boolean; overload;
{$ifdef WINDOWS}
function ResolveRelativeURI(const BaseUri, RelUri: WideString; out ResultUri: WideString): Boolean; overload;
{$ENDIF}
function ResolveRelativeURI(const BaseUri, RelUri: AnsiString; out ResultUri: AnsiString): Boolean; overload;
function URIToFilename(const URI: string; out Filename: string): Boolean;
function FilenameToURI(const Filename: string; Encode : Boolean = True): string;
@ -335,8 +335,7 @@ begin
end;
end;
function ResolveRelativeURI(const BaseUri, RelUri: AnsiString;
out ResultUri: AnsiString): Boolean;
function ResolveRelativeURI(const BaseUri, RelUri: AnsiString; out ResultUri: AnsiString): Boolean;
var
Base, Rel: TUri;
begin
@ -384,8 +383,21 @@ begin
ResultUri := EncodeUri(Rel);
end;
function ResolveRelativeURI(const BaseUri, RelUri: WideString;
out ResultUri: WideString): Boolean;
{$IFDEF WINDOWS}
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
rslt: AnsiString;
begin