diff options
author | Christian Grothoff <christian@grothoff.org> | 2009-06-10 02:54:14 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2009-06-10 02:54:14 +0000 |
commit | 4cb5b89964d8e8db591ba3cedc1a830b63d6dd17 (patch) | |
tree | 1062e987b90c2cba7808226e044ad8fc4fe0bfcd /src | |
parent | f5fce1d3a19c33b71f43fc22d2281ff82ca7af63 (diff) | |
download | gnunet-4cb5b89964d8e8db591ba3cedc1a830b63d6dd17.tar.gz gnunet-4cb5b89964d8e8db591ba3cedc1a830b63d6dd17.zip |
code cleanup
Diffstat (limited to 'src')
-rw-r--r-- | src/util/client.c | 26 |
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 | |||
276 | receive_task (void *scls, const struct GNUNET_SCHEDULER_TaskContext *tc) | 276 | receive_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 | ||