Ignore:
Timestamp:
Dec 21, 1999, 2:46:25 PM (26 years ago)
Author:
sandervl
Message:

calloc bugfix + private heap for crtldll added

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/crtdll/crtdll.cpp

    r2177 r2182  
    1 /* $Id: crtdll.cpp,v 1.17 1999-12-21 12:27:11 sandervl Exp $ */
     1/* $Id: crtdll.cpp,v 1.18 1999-12-21 13:46:24 sandervl Exp $ */
    22
    33/*
     
    5353DEFAULT_DEBUG_CHANNEL(crtdll)
    5454
     55//SvL: per process heap for CRTDLL
     56HANDLE CRTDLL_hHeap = 0;
     57
    5558
    5659/*********************************************************************
     
    6366                CRTDLL__fdopen(1,"w");
    6467                CRTDLL__fdopen(2,"w");
     68                CRTDLL_hHeap = HeapCreate(0, 0x10000, 0);
    6569        }
     70        else
     71        if (fdwReason == DLL_PROCESS_DETACH) {
     72                HeapDestroy(CRTDLL_hHeap);
     73                CRTDLL_hHeap = 0;
     74        }       
    6675        return TRUE;
    6776}
     
    7584    dprintf(("CRTDLL: ??2@YAPAXI@Z\n"));
    7685    VOID* result;
    77     if(!(result = HeapAlloc(GetProcessHeap(),0,size)) && new_handler)
     86    if(!(result = Heap_Alloc(size)) && new_handler)
    7887        (*new_handler)();
    7988    return result;
     
    8796{
    8897    dprintf(("CRTDLL: ??3@YAXPAX@Z\n"));
    89     HeapFree(GetProcessHeap(),0,ptr);
     98    Heap_Free(ptr);
    9099}
    91100
     
    10471056        break;
    10481057    default:
    1049         file = (PCRTDLL_FILE)HeapAlloc( GetProcessHeap(), 0, sizeof(*file) );
     1058        file = (PCRTDLL_FILE)Heap_Alloc(sizeof(*file) );
    10501059        file->handle = handle;
    10511060        break;
     
    34873496int CDECL CRTDLL__setjmp( jmp_buf env )
    34883497{
    3489   dprintf(("CRTDLL: _setjmp -> setjmp\n"));
     3498  dprintf(("CRTDLL: _setjmp -> setjmp (NOT IDENTICAL!!!)\n"));
     3499  return(setjmp( env));
     3500}
     3501
     3502/*********************************************************************
     3503 *           CRTDLL__setjmp3     (CRTDLL.262)
     3504 */
     3505int CDECL CRTDLL__setjmp3( jmp_buf env )
     3506{
     3507  dprintf(("CRTDLL: _setjmp3 -> setjmp (NOT IDENTICAL!!!)\n"));
    34903508  return(setjmp( env));
    34913509}
     
    41924210void * CDECL CRTDLL_calloc( size_t n, size_t size )
    41934211{
    4194   dprintf(("CRTDLL: calloc\n"));
    4195   return (calloc(n, size));
     4212//  dprintf(("CRTDLL: calloc\n"));
     4213  return Heap_Alloc(size*n);
    41964214}
    41974215
     
    44284446size_t CDECL CRTDLL_fread( void *ptr, size_t size, size_t n, FILE *fp )
    44294447{
    4430   dprintf(("CRTDLL: fread\n"));
     4448//  dprintf(("CRTDLL: fread\n"));
    44314449  return (fread(ptr, size, n, fp));
    44324450}
     
    44384456VOID CDECL CRTDLL_free(LPVOID ptr)
    44394457{
    4440     dprintf(("CRTDLL: free\n"));
    4441     HeapFree(GetProcessHeap(),0,ptr);
     4458//    dprintf(("CRTDLL: free\n"));
     4459    Heap_Free(ptr);
    44424460}
    44434461
     
    48454863VOID* CDECL CRTDLL_malloc(DWORD size)
    48464864{
    4847       dprintf(("CRTDLL: malloc\n"));
    4848       return HeapAlloc(GetProcessHeap(),0,size);
     4865//      dprintf(("CRTDLL: malloc\n"));
     4866      return Heap_Alloc(size);
    48494867}
    48504868
Note: See TracChangeset for help on using the changeset viewer.