Started work on string utilities (strings.pas)
git-svn-id: https://spexeah.com:8443/svn/Asuro@233 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
parent
9c2a5c976e
commit
94d7b621ec
BIN
lib/isr44.ppu
Normal file
BIN
lib/isr44.ppu
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
lib/libpsystem.a
BIN
lib/libpsystem.a
Binary file not shown.
BIN
lib/terminal.ppu
Normal file
BIN
lib/terminal.ppu
Normal file
Binary file not shown.
92
src/strings.pas
Normal file
92
src/strings.pas
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
unit strings;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
system,
|
||||||
|
util;
|
||||||
|
|
||||||
|
function stringToUpper(str : pchar) : pchar;
|
||||||
|
function stringToLower(str : pchar) : pchar;
|
||||||
|
function stringEquals(str1, str2 : pchar) : boolean;
|
||||||
|
function stringCopy(str : pchar) : pchar;
|
||||||
|
function stringNew(size : uint32) : pchar;
|
||||||
|
function stringSize(str : pchar) : uint32;
|
||||||
|
function stringConcat(str1, str2 : pchar) : pchar;
|
||||||
|
function stringContains(str : pchar; sub : pchar) : boolean;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
function stringToUpper(str : pchar) : pchar;
|
||||||
|
begin
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
function stringToLower(str : pchar) : pchar;
|
||||||
|
begin
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
function stringEquals(str1, str2 : pchar) : boolean;
|
||||||
|
var
|
||||||
|
i : uint32;
|
||||||
|
|
||||||
|
begin
|
||||||
|
stringEquals:= true;
|
||||||
|
if stringSize(str1) <> stringSize(str2) then begin
|
||||||
|
stringEquals:= false;
|
||||||
|
exit;
|
||||||
|
end else begin
|
||||||
|
for i:=0 to stringSize(str1)-1 do begin
|
||||||
|
if str1[i] <> str2[i] then begin
|
||||||
|
stringEquals:= false;
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function stringCopy(str : pchar) : pchar;
|
||||||
|
var
|
||||||
|
result : pchar;
|
||||||
|
size : uint32;
|
||||||
|
|
||||||
|
begin
|
||||||
|
size:= stringSize(str);
|
||||||
|
result:= stringNew(size);
|
||||||
|
memcpy(str, result, size);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function stringNew(size : uint32) : pchar;
|
||||||
|
var
|
||||||
|
result : pchar;
|
||||||
|
|
||||||
|
begin
|
||||||
|
result:= pchar(kalloc(size + 1));
|
||||||
|
memset(uint32(result), 0, size + 1);
|
||||||
|
stringNew:= result;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function stringSize(str : pchar) : uint32;
|
||||||
|
var
|
||||||
|
i : uint32;
|
||||||
|
|
||||||
|
begin
|
||||||
|
i:=0;
|
||||||
|
while byte(str[i]) <> 0 do begin
|
||||||
|
inc(i);
|
||||||
|
end;
|
||||||
|
stringSize:=i;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function stringConcat(str1, str2 : pchar) : pchar;
|
||||||
|
begin
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
function stringContains(str : pchar; sub : pchar) : boolean;
|
||||||
|
begin
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
Loading…
x
Reference in New Issue
Block a user