mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-16 04:49:19 +02:00
* fixed BeOS compilation (patch from Olivier Coursiere)
git-svn-id: trunk@9398 -
This commit is contained in:
parent
b363afcd0a
commit
8b8ee03c32
@ -353,8 +353,10 @@ function LowerAnsiString(const s : AnsiString) : AnsiString;
|
|||||||
{$endif beos}
|
{$endif beos}
|
||||||
wc : wchar_t;
|
wc : wchar_t;
|
||||||
begin
|
begin
|
||||||
|
{$ifndef beos}
|
||||||
fillchar(ombstate,sizeof(ombstate),0);
|
fillchar(ombstate,sizeof(ombstate),0);
|
||||||
fillchar(nmbstate,sizeof(nmbstate),0);
|
fillchar(nmbstate,sizeof(nmbstate),0);
|
||||||
|
{$endif beos}
|
||||||
slen:=length(s);
|
slen:=length(s);
|
||||||
SetLength(result,slen+10);
|
SetLength(result,slen+10);
|
||||||
i:=1;
|
i:=1;
|
||||||
@ -414,12 +416,16 @@ function UpperAnsiString(const s : AnsiString) : AnsiString;
|
|||||||
i, slen,
|
i, slen,
|
||||||
resindex : SizeInt;
|
resindex : SizeInt;
|
||||||
mblen : size_t;
|
mblen : size_t;
|
||||||
|
{$ifndef beos}
|
||||||
ombstate,
|
ombstate,
|
||||||
nmbstate : mbstate_t;
|
nmbstate : mbstate_t;
|
||||||
|
{$endif beos}
|
||||||
wc : wchar_t;
|
wc : wchar_t;
|
||||||
begin
|
begin
|
||||||
|
{$ifndef beos}
|
||||||
fillchar(ombstate,sizeof(ombstate),0);
|
fillchar(ombstate,sizeof(ombstate),0);
|
||||||
fillchar(nmbstate,sizeof(nmbstate),0);
|
fillchar(nmbstate,sizeof(nmbstate),0);
|
||||||
|
{$endif beos}
|
||||||
slen:=length(s);
|
slen:=length(s);
|
||||||
SetLength(result,slen+10);
|
SetLength(result,slen+10);
|
||||||
i:=1;
|
i:=1;
|
||||||
@ -433,7 +439,11 @@ function UpperAnsiString(const s : AnsiString) : AnsiString;
|
|||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
|
{$ifndef beos}
|
||||||
mblen:=mbrtowc(@wc, pchar(@s[i]), slen-i+1, @ombstate);
|
mblen:=mbrtowc(@wc, pchar(@s[i]), slen-i+1, @ombstate);
|
||||||
|
{$else not beos}
|
||||||
|
mblen:=mbtowc(@wc, pchar(@s[i]), slen-i+1);
|
||||||
|
{$endif beos}
|
||||||
case mblen of
|
case mblen of
|
||||||
size_t(-2):
|
size_t(-2):
|
||||||
begin
|
begin
|
||||||
@ -456,7 +466,11 @@ function UpperAnsiString(const s : AnsiString) : AnsiString;
|
|||||||
{ even if mblen = 1, the uppercase version may have a }
|
{ even if mblen = 1, the uppercase version may have a }
|
||||||
{ different length }
|
{ different length }
|
||||||
{ We can't do anything special if wchar_t is 16 bit... }
|
{ We can't do anything special if wchar_t is 16 bit... }
|
||||||
|
{$ifndef beos}
|
||||||
ConcatUTF32ToAnsiStr(towupper(wint_t(wc)),result,resindex,nmbstate);
|
ConcatUTF32ToAnsiStr(towupper(wint_t(wc)),result,resindex,nmbstate);
|
||||||
|
{$else not beos}
|
||||||
|
ConcatUTF32ToAnsiStr(towupper(wint_t(wc)),result,resindex);
|
||||||
|
{$endif not beos}
|
||||||
inc(i,mblen);
|
inc(i,mblen);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user