Browse Source

some small fixes

1.0.0
Georg Hopp 11 years ago
parent
commit
f4f8ac5d9a
  1. 2
      src/cep_write_buffered.c
  2. 12
      src/datagram_service.c
  3. 6
      src/simple_client.c

2
src/cep_write_buffered.c

@ -29,7 +29,7 @@ int
TR_cepWriteBuffered(TR_CommEndPoint this, size_t * size) TR_cepWriteBuffered(TR_CommEndPoint this, size_t * size)
{ {
TR_RemoteData data; TR_RemoteData data;
int send;
int send = -4;
*size = 0; *size = 0;

12
src/datagram_service.c

@ -55,10 +55,11 @@ datagramServiceNextMessage(void * _this, TR_RemoteData * data)
{ {
TR_CommEndPoint comm = _this; TR_CommEndPoint comm = _this;
TR_ProtoMessage ret_message = NULL; TR_ProtoMessage ret_message = NULL;
TR_RemoteData new_data = NULL;
if (*data) { if (*data) {
ret_message = TR_protoCreateMessage(comm->protocol, (*data)->remote); ret_message = TR_protoCreateMessage(comm->protocol, (*data)->remote);
TR_protoParse(comm->protocol, ret_message, *data);
new_data = TR_protoParse(comm->protocol, ret_message, *data);
/* /*
* In UDP I don't care about remaining data. UDP is an all or nothing * In UDP I don't care about remaining data. UDP is an all or nothing
@ -71,8 +72,11 @@ datagramServiceNextMessage(void * _this, TR_RemoteData * data)
*/ */
if (! ret_message->ready) { if (! ret_message->ready) {
TR_delete(*data);
TR_delete(ret_message); TR_delete(ret_message);
if (new_data) {
TR_delete(new_data);
TR_delete(*data);
}
} }
*data = NULL; *data = NULL;
@ -88,6 +92,10 @@ datagramServiceCompose(void * _this, TR_ProtoMessage message)
TR_RemoteData data = TR_RemoteData data =
TR_protoCompose(((TR_CommEndPoint)_this)->protocol, message); TR_protoCompose(((TR_CommEndPoint)_this)->protocol, message);
if (data->remote->handle == -1) {
data->free_remote = 1;
}
if (! data) { if (! data) {
return FALSE; return FALSE;
} }

6
src/simple_client.c

@ -126,6 +126,12 @@ static
TR_EventDone TR_EventDone
simpleClientHandleData(void * _this, TR_Event event) simpleClientHandleData(void * _this, TR_Event event)
{ {
TR_ProtoMessage data = event->data;
if (data->remote->handle == -1) {
TR_delete(data->remote);
}
((TR_SimpleClient)_this)->response = event->data; ((TR_SimpleClient)_this)->response = event->data;
return TR_EVENT_DONE; return TR_EVENT_DONE;

Loading…
Cancel
Save