diff options
Diffstat (limited to 'src/fs/gnunet-service-fs.c')
-rw-r--r-- | src/fs/gnunet-service-fs.c | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/fs/gnunet-service-fs.c b/src/fs/gnunet-service-fs.c index 48b7bca29..c1ff17814 100644 --- a/src/fs/gnunet-service-fs.c +++ b/src/fs/gnunet-service-fs.c | |||
@@ -402,14 +402,25 @@ handle_start_search (void *cls, struct GNUNET_SERVER_Client *client, | |||
402 | const struct GNUNET_MessageHeader *message) | 402 | const struct GNUNET_MessageHeader *message) |
403 | { | 403 | { |
404 | struct GSF_PendingRequest *pr; | 404 | struct GSF_PendingRequest *pr; |
405 | int ret; | ||
405 | 406 | ||
406 | pr = GSF_local_client_start_search_handler_ (client, message); | 407 | pr = NULL; |
407 | if (NULL == pr) | 408 | ret = GSF_local_client_start_search_handler_ (client, message, |
409 | &pr); | ||
410 | switch (ret) | ||
408 | { | 411 | { |
409 | /* GNUNET_SERVER_receive_done was already called! */ | 412 | case GNUNET_SYSERR: |
410 | return; | 413 | GNUNET_SERVER_receive_done (client, GNUNET_SYSERR); |
414 | break; | ||
415 | case GNUNET_NO: | ||
416 | GNUNET_SERVER_receive_done (client, GNUNET_OK); | ||
417 | break; | ||
418 | case GNUNET_YES: | ||
419 | GSF_local_lookup_ (pr, &start_p2p_processing, client); | ||
420 | break; | ||
421 | default: | ||
422 | GNUNET_assert (0); | ||
411 | } | 423 | } |
412 | GSF_local_lookup_ (pr, &start_p2p_processing, client); | ||
413 | } | 424 | } |
414 | 425 | ||
415 | 426 | ||