Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
May 8, 2008, 11:53:58 AM (16 years ago)
Author:
scheusso
Message:

some enhanced memory handling

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/network3/src/network/PacketGenerator.cc

    r1232 r1248  
    5858
    5959    ENetPacket *packet = enet_packet_create( ackreq , sizeof( *ackreq ), reliable );
    60 
     60    delete ackreq;
    6161    return packet;
    6262  }
     
    7171    memcpy((unsigned char *)stream+sizeof(int), (void*)&dataLength, sizeof(int));
    7272    memcpy((unsigned char *)stream+2*sizeof(int), data, dataLength);
    73     return enet_packet_create(stream, dataLength+2*sizeof(int), reliable);
     73    ENetPacket *packet = enet_packet_create(stream, dataLength+2*sizeof(int), reliable);
     74    delete[] stream; // TODO: we could also tell enet not to copy the data, but to use the exisiting memory
     75    return packet;
    7476  }
    7577
     
    8486
    8587    ENetPacket *packet = enet_packet_create( mousemove , sizeof( *mousemove ), reliable );
    86 
     88    delete mousemove;
    8789    return packet;
    8890  }
     
    9799
    98100    ENetPacket *packet = enet_packet_create( key , sizeof( *key ), reliable );
    99 
     101    delete key;
    100102    return packet;
    101103  }
     
    109111    memcpy( &trans[1], (const void*)message, strlen( message ) + 1);
    110112    ENetPacket *packet = enet_packet_create( trans , sizeof( int ) + strlen( message ) + 1, reliable );
    111 
     113    delete[] trans;
    112114    return packet;
    113115  }
     
    136138    COUT(4) << "PacketGenerator generating totalLen " << totalLen << std::endl;
    137139    ENetPacket *packet = enet_packet_create( data , totalLen, reliable );
    138     //delete data;
     140    delete[] data;
    139141    return packet;
    140142  }
     
    150152    memcpy( (void *)(data+3*sizeof(int)), classname.c_str(), classname.length()+1);
    151153    ENetPacket *packet = enet_packet_create( data , 3*sizeof(int)+classname.length()+1, reliable );
     154    delete[] data;
    152155    return packet;
    153156  }
     
    160163    wc->allowed = true;
    161164    ENetPacket *packet = enet_packet_create( wc, sizeof(welcome), reliable);
     165    delete wc;
    162166    return packet;
    163167  }
     
    166170    connectRequest *con = new connectRequest;
    167171    con->id=CONNECT;
    168     return enet_packet_create( con, sizeof(connectRequest), reliable);
     172    ENetPacket *packet = enet_packet_create( con, sizeof(connectRequest), reliable);
     173    delete con;
     174    return packet;
    169175  }
    170176
Note: See TracChangeset for help on using the changeset viewer.