IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jun 23, 2004, 1:00:17 PM (22 years ago)
Author:
desonia
Message:

Changed the means of deallocation of memory. ps_Alloc now registers an optional free function to handle any additional processing of a memory object.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/test/sysUtils/tst_psHash01.c

    r881 r1073  
    1414}
    1515ID;
     16
     17static void IdFree(ID *id);
     18
    1619static ID *IdAlloc(const char *name)
    1720{
    1821    ID *id = psAlloc(sizeof(ID));
     22    p_psMemSetDeallocator(id,(psFreeFcn)IdFree);
    1923    id->name = psStringCopy(name);
    2024
     
    2630    imGlobal++;
    2731    psFree(id->name);
    28     psFree(id);
    2932}
    3033
     
    3437    int testStatus      = true;
    3538    int currentId = psMemGetId();
     39    ID* id = NULL;
    3640    int memLeaks        = 0;
    3741
     
    4145
    4246    myHashTable = psHashAlloc(NUM_HASH_TABLE_BUCKETS);
    43     psHashInsert(myHashTable, "ENTRY00", IdAlloc("IDA"),
    44                  (void (*)(void *))IdFree);
    45     psHashInsert(myHashTable, "ENTRY01", IdAlloc("IDB"),
    46                  (void (*)(void *))IdFree);
    47     psHashInsert(myHashTable, "ENTRY02", IdAlloc("IDC"),
    48                  (void (*)(void *))IdFree);
    49     psHashInsert(myHashTable, "ENTRY03", IdAlloc("IDD"),
    50                  (void (*)(void *))IdFree);
    51     psHashFree(myHashTable, (void (*)(void *))IdFree);
     47    id = IdAlloc("IDA");
     48    psHashInsert(myHashTable, "ENTRY00", id);
     49    psFree(id);
     50    id = IdAlloc("IDB");
     51    psHashInsert(myHashTable, "ENTRY01", id);
     52    psFree(id);
     53    id = IdAlloc("IDC");
     54    psHashInsert(myHashTable, "ENTRY02", id);
     55    psFree(id);
     56    id = IdAlloc("IDD");
     57    psHashInsert(myHashTable, "ENTRY03", id);
     58    psFree(id);
     59    psFree(myHashTable);
    5260
    5361    if (imGlobal != 4) {
Note: See TracChangeset for help on using the changeset viewer.