aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2009-06-10 02:54:14 +0000
committerChristian Grothoff <christian@grothoff.org>2009-06-10 02:54:14 +0000
commit4cb5b89964d8e8db591ba3cedc1a830b63d6dd17 (patch)
tree1062e987b90c2cba7808226e044ad8fc4fe0bfcd /src
parentf5fce1d3a19c33b71f43fc22d2281ff82ca7af63 (diff)
downloadgnunet-4cb5b89964d8e8db591ba3cedc1a830b63d6dd17.tar.gz
gnunet-4cb5b89964d8e8db591ba3cedc1a830b63d6dd17.zip
code cleanup
Diffstat (limited to 'src')
-rw-r--r--src/util/client.c26
1 files changed, 9 insertions, 17 deletions
diff --git a/src/util/client.c b/src/util/client.c
index 02de2ec63..7923f5697 100644
--- a/src/util/client.c
+++ b/src/util/client.c
@@ -276,33 +276,25 @@ static void
276receive_task (void *scls, const struct GNUNET_SCHEDULER_TaskContext *tc) 276receive_task (void *scls, const struct GNUNET_SCHEDULER_TaskContext *tc)
277{ 277{
278 struct GNUNET_CLIENT_Connection *sock = scls; 278 struct GNUNET_CLIENT_Connection *sock = scls;
279 const struct GNUNET_MessageHeader *cmsg;
280 struct GNUNET_MessageHeader *msg;
281 GNUNET_CLIENT_MessageHandler handler = sock->receiver_handler; 279 GNUNET_CLIENT_MessageHandler handler = sock->receiver_handler;
280 const struct GNUNET_MessageHeader *cmsg = (const struct GNUNET_MessageHeader *) sock->received_buf;
282 void *cls = sock->receiver_handler_cls; 281 void *cls = sock->receiver_handler_cls;
283 uint16_t msize; 282 uint16_t msize = ntohs (cmsg->size);
283 char mbuf[msize];
284 struct GNUNET_MessageHeader *msg = (struct GNUNET_MessageHeader*) mbuf;
284 285
285 GNUNET_assert (GNUNET_YES == sock->msg_complete); 286 GNUNET_assert (GNUNET_YES == sock->msg_complete);
286 sock->receiver_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK; 287 sock->receiver_task = GNUNET_SCHEDULER_NO_PREREQUISITE_TASK;
287 cmsg = (const struct GNUNET_MessageHeader *) sock->received_buf;
288 msize = ntohs (cmsg->size);
289 GNUNET_assert (sock->received_pos >= msize); 288 GNUNET_assert (sock->received_pos >= msize);
290 if (handler != NULL) 289 memcpy (msg, cmsg, msize);
291 { 290 memmove (sock->received_buf,
292 msg = GNUNET_malloc (msize); 291 &sock->received_buf[msize], sock->received_pos - msize);
293 memcpy (msg, cmsg, msize);
294 memmove (sock->received_buf,
295 &sock->received_buf[msize], sock->received_pos - msize);
296 }
297 sock->received_pos -= msize; 292 sock->received_pos -= msize;
298 sock->msg_complete = GNUNET_NO; 293 sock->msg_complete = GNUNET_NO;
299 sock->receiver_handler = NULL; 294 sock->receiver_handler = NULL;
300 check_complete (sock); 295 check_complete (sock);
301 if (handler != NULL) 296 if (handler != NULL)
302 { 297 handler (cls, msg);
303 handler (cls, msg);
304 GNUNET_free (msg);
305 }
306} 298}
307 299
308 300