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:
kieron
2017-10-23 18:59:57 +00:00
parent 9c2a5c976e
commit 94d7b621ec
7 changed files with 92 additions and 0 deletions
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+92
View 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.