浏览代码

* Add unicode AnsiLastChar overload

Michaël Van Canneyt 1 年之前
父节点
当前提交
45021498cf
共有 2 个文件被更改,包括 9 次插入0 次删除
  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;