Browse Source

* Add unicode AnsiLastChar overload

Michaël Van Canneyt 1 year ago
parent
commit
45021498cf
2 changed files with 9 additions and 0 deletions
  1. 8 0
      rtl/objpas/sysutils/sysstr.inc
  2. 1 0
      rtl/objpas/sysutils/sysstrh.inc

+ 8 - 0
rtl/objpas/sysutils/sysstr.inc

@@ -546,6 +546,14 @@ begin
   Dec(Result);
 end ;
 
+function AnsiLastChar(const S: UnicodeString): PWideChar;
+
+begin
+  //!! No multibyte yet, so we return the last one.
+  result:=StrEnd(PWideChar(Pointer(S)));  // strend checks for nil
+  Dec(Result);
+end ;
+
 function AnsiStrLastChar(Str: PAnsiChar): PAnsiChar;
 begin
   //!! No multibyte yet, so we return the last one.

+ 1 - 0
rtl/objpas/sysutils/sysstrh.inc

@@ -101,6 +101,7 @@ function AnsiStrLIComp(S1, S2: PAnsiChar; MaxLen: SizeUInt): Integer;{$ifdef SYS
 function AnsiStrLower(Str: PAnsiChar): PAnsiChar;{$ifdef SYSUTILSINLINE}inline;{$endif}
 function AnsiStrUpper(Str: PAnsiChar): PAnsiChar;{$ifdef SYSUTILSINLINE}inline;{$endif}
 function AnsiLastChar(const S: AnsiString): PAnsiChar;
+function AnsiLastChar(const S: UnicodeString): PWideChar;
 function AnsiStrLastChar(Str: PAnsiChar): PAnsiChar;
 
 function Trim(const S: ansistring): ansistring;