Ignore:
Timestamp:
Jan 16, 2007, 8:31:25 PM (19 years ago)
Author:
cinc
Message:

Improvements to the GC interface and some more stuff

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/nom/src/nommemory.c

    r136 r193  
    5151NOMEXTERN nomToken NOMLINK NOMMalloc(ULONG size)
    5252{
     53  gchar* memPtr;
     54
     55  if((memPtr=g_malloc(size))==NULLHANDLE)
     56    return NULLHANDLE;
     57
     58  return (nomToken) memPtr;
     59
     60#if 0
    5361  PULONG memPtr;
    5462
     
    5967  memPtr++;
    6068  return (nomToken) memPtr;
     69#endif
    6170}
    6271
    6372nomToken NOMLINK NOMCalloc(const ULONG num, const ULONG size)
    6473{
     74  gchar* memPtr;
     75
     76  if((memPtr=g_malloc(size*num ))==NULLHANDLE)
     77    return NULLHANDLE; /* We won't end here because GLib just terminates the process :-/
     78                          A really sick idea imho. */
     79  if(!bUseGC)
     80    memset(memPtr, 0, size*num); /* GC always returns zeroed memory */
     81
     82  return (nomToken) memPtr;
     83
     84#if 0
    6585  PULONG memPtr;
    6686
     
    7494  memPtr++;
    7595  return (nomToken) memPtr;
     96#endif
    7697}
    7798
     
    81102NOMEXTERN boolean NOMLINK NOMFree(const nomToken memPtr)
    82103{
     104#if 0
    83105  ULONG* pul=(PULONG)memPtr;
    84106
    85107  pul--;
    86 
    87108  g_free(pul);
     109#endif
     110  g_free(memPtr);
    88111  return TRUE;
    89112}
Note: See TracChangeset for help on using the changeset viewer.