FREE Subscription to Dr. Dobb’s Digest: Same Great Content, New Digital Edition
Site Archive (Complete)
Dobbs M-Dev
Email
Print
Reprint

add to:
Del.icio.us
Digg
Google
Furl
Slashdot
Y! MyWeb
Blink
February 01, 2003

Avoiding the Visual C++ Runtime Library

(Page 12 of 16)
February 2003/Avoiding the Visual C++ Runtime Library

Listing 5 Synthesizing malloc(), realloc(), and free()


/* /////////////////////////////////////////////////////////////
 * ...
 *
 * Extract from malloc.c
 *
 * Copyright (C) 2002, Synesis Software Pty Ltd.
 * (Licensed under the Synesis Software Standard Source License:
 *  http://www.synesis.com.au/licenses/ssssl.html)
 *
 * ...
 * ////////////////////////////////////////////////////////// */

void *malloc(size_t si)
{
    return HeapAlloc(GetProcessHeap(), 0, si);
}

void free(void *pv)
{
    HeapFree(GetProcessHeap(), 0, pv);
}

void *realloc(void *pv, size_t si)
{
    void    *pvNew;

    if(pv == NULL)
    {
        pvNew = malloc(si);
    }
    else
    {
        if(si == 0)
        {
            free(pv);

            pvNew = NULL;
        }
        else
        {
            pvNew = HeapRealloc(GetProcessHeap(), 0, pv, si);
        }
    }

    return pvNew;
}

Previous Page | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 Next Page
TOP 5 ARTICLES
No Top Articles.



MICROSITES
FEATURED TOPIC

ADDITIONAL TOPICS

INFO-LINK