[Wisp-cvs] wisp/src/native strings.nasm,1.49,1.50
Status: Alpha
Brought to you by:
digg
From: <di...@us...> - 2002-08-31 14:29:08
|
Update of /cvsroot/wisp/wisp/src/native In directory usw-pr-cvs1:/tmp/cvs-serv4805/src/native Modified Files: strings.nasm Log Message: Made |c8string-length| not work in setter context. Index: strings.nasm =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/strings.nasm,v retrieving revision 1.49 retrieving revision 1.50 diff -u -d -r1.49 -r1.50 --- strings.nasm 26 Aug 2002 16:18:24 -0000 1.49 +++ strings.nasm 31 Aug 2002 14:29:05 -0000 1.50 @@ -196,40 +196,11 @@ ; }}} ; {{{ |c8string-length| -native c8string_length, any - cmp ecx, byte -2 - jz c8string_length$s2 - cmp ecx, 1 - jnz near N_signal_argcount -global c8string_length$1 -c8string_length$1: +native c8string_length, 1 pop eax req_c8string eax mov eax, c8string#length(eax) encui eax - ret -global c8string_length$2 -c8string_length$s2: - mov eax, [esp] - decui eax - mov [esp], eax - mov ecx, eax - mov eax, [esp + 4] - req_c8string eax - push dword c8string#length(eax) - ; stack: string new-length old-length - gcall realloc$2, c8string#body(eax), ecx - pop ebx ; old-length - pop ecx ; new-length - pop edx ; string - mov c8string#body(edx), eax - mov c8string#length(edx), ecx - sub ecx, ebx - if nc ; new-length > old-length ? - add eax, ebx - gcall memset$3, eax, CHAR(0), ecx - endif - mov eax, VOID ret ; }}} |