mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-05-04 03:04:06 +02:00
95 lines
2.1 KiB
PHP
95 lines
2.1 KiB
PHP
{
|
|
$Id$
|
|
This file is part of the Free Pascal run time library.
|
|
Copyright (c) 1999 by the Free Pascal development team
|
|
|
|
Processor independent part for strings and sysutils units
|
|
|
|
See the file COPYING.FPC, included in this distribution,
|
|
for details about the copyright.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
**********************************************************************}
|
|
|
|
function strcat(dest,source : pchar) : pchar;
|
|
|
|
begin
|
|
strcopy(strend(dest),source);
|
|
strcat:=dest;
|
|
end;
|
|
|
|
function strlcat(dest,source : pchar;l : longint) : pchar;
|
|
|
|
var
|
|
destend : pchar;
|
|
|
|
begin
|
|
destend:=strend(dest);
|
|
dec(l,destend-dest);
|
|
if l>0 then
|
|
strlcopy(destend,source,l);
|
|
strlcat:=dest;
|
|
end;
|
|
|
|
function strmove(dest,source : pchar;l : longint) : pchar;
|
|
|
|
begin
|
|
move(source^,dest^,l);
|
|
strmove:=dest;
|
|
end;
|
|
|
|
|
|
function strpos(str1,str2 : pchar) : pchar;
|
|
|
|
var
|
|
p : pchar;
|
|
lstr2 : longint;
|
|
|
|
begin
|
|
strpos:=nil;
|
|
p:=strscan(str1,str2^);
|
|
if p=nil then
|
|
exit;
|
|
lstr2:=strlen(str2);
|
|
while p<>nil do
|
|
begin
|
|
if strlcomp(p,str2,lstr2)=0 then
|
|
begin
|
|
strpos:=p;
|
|
exit;
|
|
end;
|
|
inc(longint(p));
|
|
p:=strscan(p,str2^);
|
|
end;
|
|
end;
|
|
|
|
function strnew(p : pchar) : pchar;
|
|
|
|
var
|
|
len : longint;
|
|
|
|
begin
|
|
strnew:=nil;
|
|
if (p=nil) or (p^=#0) then
|
|
exit;
|
|
len:=strlen(p)+1;
|
|
getmem(strnew,len);
|
|
if strnew<>nil then
|
|
strmove(strnew,p,len);
|
|
end;
|
|
{
|
|
$Log$
|
|
Revision 1.4 1999-09-13 11:42:42 peter
|
|
* fixed strlcat
|
|
|
|
Revision 1.3 1999/09/01 09:25:10 peter
|
|
* fixed return of strcat,strlcat
|
|
|
|
Revision 1.2 1999/02/25 10:05:07 michael
|
|
+ Added header and log
|
|
|
|
}
|