diff options
author | tobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2009-07-23 14:42:01 +0000 |
---|---|---|
committer | tobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2009-07-23 14:42:01 +0000 |
commit | 3dc26d2e5c5b360f844ea23c3f60ea4178f6f883 (patch) | |
tree | 2ddcbe47e8dd263197346d7fb523558455bef476 /unicode/plugins/SDK/StrUtils.pas | |
parent | 94cefdb78044e0f9996e3032de34b690de98b708 (diff) | |
download | usdx-3dc26d2e5c5b360f844ea23c3f60ea4178f6f883.tar.gz usdx-3dc26d2e5c5b360f844ea23c3f60ea4178f6f883.tar.xz usdx-3dc26d2e5c5b360f844ea23c3f60ea4178f6f883.zip |
merge with current trunk revision 1827
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/experimental@1855 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'unicode/plugins/SDK/StrUtils.pas')
-rw-r--r-- | unicode/plugins/SDK/StrUtils.pas | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/unicode/plugins/SDK/StrUtils.pas b/unicode/plugins/SDK/StrUtils.pas deleted file mode 100644 index 069c89c3..00000000 --- a/unicode/plugins/SDK/StrUtils.pas +++ /dev/null @@ -1,79 +0,0 @@ -unit StrUtils; - -interface - -{$IFDEF FPC} - {$MODE Delphi} -{$ENDIF} - -uses ModiSDK; - -//function StrToAChar(Str: String): AChar; -function CreateStr(Str: PChar): PChar; -procedure FreeStr(Str: PChar); - -implementation - -{$IFDEF FPC} - {$ASMMODE Intel} -{$ENDIF} - -{function StrToAChar(Str: String): AChar; -var - L, I: Integer; -begin - L := Length(Str); - For I := 0 to L-1 do - AChar[I] := Str[I+1]; - - For I := L to 254 do - AChar[I] := #0; -end; } - -function StrCopy(Dest, Source: PChar): PChar; assembler; -asm - PUSH EDI - PUSH ESI - MOV ESI,EAX - MOV EDI,EDX - MOV ECX,0FFFFFFFFH - XOR AL,AL - REPNE SCASB - NOT ECX - MOV EDI,ESI - MOV ESI,EDX - MOV EDX,ECX - MOV EAX,EDI - SHR ECX,2 - REP MOVSD - MOV ECX,EDX - AND ECX,3 - REP MOVSB - POP ESI - POP EDI -end; - -function StrLen(Str: PChar): Cardinal; assembler; -asm - MOV EDX,EDI - MOV EDI,EAX - MOV ECX,0FFFFFFFFH - XOR AL,AL - REPNE SCASB - MOV EAX,0FFFFFFFEH - SUB EAX,ECX - MOV EDI,EDX -end; - -function CreateStr(Str: PChar): PChar; -begin - GetMem(Result, StrLen(Str) + 1); - StrCopy(Result, Str); -end; - -procedure FreeStr(Str: PChar); -begin - FreeMem(Str); -end; - -end. |