Metropoli BBS
VIEWER: strdup.asm MODE: TEXT (ASCII)
.386p
locals

extrn   MALLOC:near
extrn   STRLEN:near
extrn   MEMCPY:near

public  STRDUP

_TEXT           segment byte public use32 'CODE'
assume  cs:_TEXT

STRDUP:
        push esi edi

        mov edi,[esp+4+8+00h]
        push edi
        call STRLEN
        lea esi,[eax+1]

        push esi
        call MALLOC
        or eax,eax
        jz short @@00

        push eax
        push edi
        push esi
        call MEMCPY

@@00:
        pop edi esi
        ret 04h

_TEXT           ends
end

[ RETURN TO DIRECTORY ]