diff --git a/rtl/inc/generic.inc b/rtl/inc/generic.inc index 28c4072c2a..3da2cfe734 100644 --- a/rtl/inc/generic.inc +++ b/rtl/inc/generic.inc @@ -1290,13 +1290,11 @@ end; {$ifndef FPC_SYSTEM_HAS_FPC_PWIDECHAR_LENGTH} function fpc_pwidechar_length(p:pwidechar):sizeint;[public,alias:'FPC_PWIDECHAR_LENGTH']; compilerproc; -var i : sizeint; begin - i:=0; if assigned(p) then - while p[i]<>#0 do - inc(i); - exit(i); + Result:=IndexWord(p^,-1,0) + else + result:=0; end; {$endif ndef FPC_SYSTEM_HAS_FPC_PWIDECHAR_LENGTH}