From: Christian Grothoff Date: Thu, 17 May 2012 15:48:17 +0000 (+0000) Subject: -fixing 2352 X-Git-Tag: initial-import-from-subversion-38251~13446 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=04630c5e40fc4de16393894d0b5ff2ca9055f4e2;p=oweals%2Fgnunet.git -fixing 2352 --- diff --git a/src/fs/fs_search.c b/src/fs/fs_search.c index de1a698e5..3eacbe9cb 100644 --- a/src/fs/fs_search.c +++ b/src/fs/fs_search.c @@ -14,10 +14,9 @@ You should have received a copy of the GNU General Public License along with GNUnet; see the file COPYING. If not, write to the - Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Free Software Foundation, Inc., 59 Tem ple Place - Suite 330, Boston, MA 02111-1307, USA. */ - /** * @file fs/fs_search.c * @brief Helper functions for searching. @@ -53,7 +52,7 @@ GNUNET_FS_search_make_status_ (struct GNUNET_FS_ProgressInfo *pi, pi->value.search.sc = sc; pi->value.search.cctx = sc->client_info; pi->value.search.pctx = - (sc->psearch_result == NULL) ? NULL : sc->psearch_result->client_info; + (NULL == sc->psearch_result) ? NULL : sc->psearch_result->client_info; pi->value.search.query = sc->uri; pi->value.search.duration = GNUNET_TIME_absolute_get_duration (sc->start_time); @@ -276,7 +275,7 @@ GNUNET_FS_search_probe_progress_ (void *cls, /* ignore */ break; case GNUNET_FS_STATUS_DOWNLOAD_ERROR: - if (sr->probe_cancel_task != GNUNET_SCHEDULER_NO_TASK) + if (GNUNET_SCHEDULER_NO_TASK != sr->probe_cancel_task) { GNUNET_SCHEDULER_cancel (sr->probe_cancel_task); sr->probe_cancel_task = GNUNET_SCHEDULER_NO_TASK; @@ -286,7 +285,7 @@ GNUNET_FS_search_probe_progress_ (void *cls, &probe_failure_handler, sr); break; case GNUNET_FS_STATUS_DOWNLOAD_COMPLETED: - if (sr->probe_cancel_task != GNUNET_SCHEDULER_NO_TASK) + if (GNUNET_SCHEDULER_NO_TASK != sr->probe_cancel_task) { GNUNET_SCHEDULER_cancel (sr->probe_cancel_task); sr->probe_cancel_task = GNUNET_SCHEDULER_NO_TASK; @@ -295,7 +294,7 @@ GNUNET_FS_search_probe_progress_ (void *cls, GNUNET_SCHEDULER_add_now (&probe_success_handler, sr); break; case GNUNET_FS_STATUS_DOWNLOAD_STOPPED: - if (sr->probe_cancel_task != GNUNET_SCHEDULER_NO_TASK) + if (GNUNET_SCHEDULER_NO_TASK != sr->probe_cancel_task) { GNUNET_SCHEDULER_cancel (sr->probe_cancel_task); sr->probe_cancel_task = GNUNET_SCHEDULER_NO_TASK; @@ -303,14 +302,14 @@ GNUNET_FS_search_probe_progress_ (void *cls, sr = NULL; break; case GNUNET_FS_STATUS_DOWNLOAD_ACTIVE: - GNUNET_assert (sr->probe_cancel_task == GNUNET_SCHEDULER_NO_TASK); + GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == sr->probe_cancel_task); sr->probe_active_time = GNUNET_TIME_absolute_get (); sr->probe_cancel_task = GNUNET_SCHEDULER_add_delayed (sr->remaining_probe_time, &probe_failure_handler, sr); break; case GNUNET_FS_STATUS_DOWNLOAD_INACTIVE: - if (sr->probe_cancel_task != GNUNET_SCHEDULER_NO_TASK) + if (GNUNET_SCHEDULER_NO_TASK != sr->probe_cancel_task) { GNUNET_SCHEDULER_cancel (sr->probe_cancel_task); sr->probe_cancel_task = GNUNET_SCHEDULER_NO_TASK; @@ -339,18 +338,18 @@ GNUNET_FS_search_start_probe_ (struct GNUNET_FS_SearchResult *sr) uint64_t off; uint64_t len; - if (sr->probe_ctx != NULL) + if (NULL != sr->probe_ctx) return; - if (sr->download != NULL) + if (NULL != sr->download) return; if (0 == (sr->sc->h->flags & GNUNET_FS_FLAGS_DO_PROBES)) return; if (sr->availability_trials > AVAILABILITY_TRIALS_MAX) return; - if ( (sr->uri->type != chk) && (sr->uri->type != loc)) + if ( (chk != sr->uri->type) && (loc != sr->uri->type)) return; len = GNUNET_FS_uri_chk_get_file_size (sr->uri); - if (len == 0) + if (0 == len) return; if ((len <= DBLOCK_SIZE) && (sr->availability_success > 0)) return; @@ -503,7 +502,7 @@ process_sks_result (struct GNUNET_FS_SearchContext *sc, const char *id_update, /* notify client */ notify_client_chk_result (sc, sr); /* search for updates */ - if (strlen (id_update) == 0) + if (0 == strlen (id_update)) return; /* no updates */ uu.type = sks; uu.data.sks.namespace = sc->uri->data.sks.namespace; @@ -602,13 +601,13 @@ process_kblock (struct GNUNET_FS_SearchContext *sc, const struct KBlock *kb, meta = GNUNET_CONTAINER_meta_data_create (); else meta = GNUNET_CONTAINER_meta_data_deserialize (&pt[j], sizeof (pt) - j); - if (meta == NULL) + if (NULL == meta) { GNUNET_break_op (0); /* kblock malformed */ return; } uri = GNUNET_FS_uri_parse (pt, &emsg); - if (uri == NULL) + if (NULL == uri) { GNUNET_break_op (0); /* kblock malformed */ GNUNET_free_non_null (emsg); @@ -661,7 +660,7 @@ process_nblock (struct GNUNET_FS_SearchContext *sc, const struct NBlock *nb, meta = GNUNET_CONTAINER_meta_data_create (); else meta = GNUNET_CONTAINER_meta_data_deserialize (&pt[j], sizeof (pt) - j); - if (meta == NULL) + if (NULL == meta) { GNUNET_break_op (0); /* nblock malformed */ return; @@ -723,7 +722,7 @@ process_sblock (struct GNUNET_FS_SearchContext *sc, const struct SBlock *sb, } /* parse */ off = GNUNET_STRINGS_buffer_tokenize (pt, len, 2, &id, &uris); - if (off == 0) + if (0 == off) { GNUNET_break_op (0); /* sblock malformed */ return; @@ -735,7 +734,7 @@ process_sblock (struct GNUNET_FS_SearchContext *sc, const struct SBlock *sb, return; } uri = GNUNET_FS_uri_parse (uris, &emsg); - if (uri == NULL) + if (NULL == uri) { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to parse URI `%s': %s\n", uris, emsg); @@ -934,7 +933,7 @@ build_result_set (void *cls, const GNUNET_HashCode * key, void *value) struct MessageBuilderContext *mbc = cls; struct GNUNET_FS_SearchResult *sr = value; - if ( (sr->keyword_bitmap != NULL) && + if ( (NULL != sr->keyword_bitmap) && (0 == (sr->keyword_bitmap[mbc->keyword_offset / 8] & (1 << (mbc->keyword_offset % 8)))) ) return GNUNET_OK; /* have no match for this keyword yet */ if (mbc->skip_cnt > 0) @@ -942,7 +941,7 @@ build_result_set (void *cls, const GNUNET_HashCode * key, void *value) mbc->skip_cnt--; return GNUNET_OK; } - if (mbc->put_cnt == 0) + if (0 == mbc->put_cnt) return GNUNET_SYSERR; mbc->sc->search_request_map_offset++; mbc->xoff[--mbc->put_cnt] = *key; @@ -966,7 +965,7 @@ find_result_set (void *cls, const GNUNET_HashCode * key, void *value) struct MessageBuilderContext *mbc = cls; struct GNUNET_FS_SearchResult *sr = value; - if ( (sr->keyword_bitmap != NULL) && + if ( (NULL != sr->keyword_bitmap) && (0 == (sr->keyword_bitmap[mbc->keyword_offset / 8] & (1 << (mbc->keyword_offset % 8)))) ) return GNUNET_OK; /* have no match for this keyword yet */ mbc->put_cnt++; @@ -1188,7 +1187,7 @@ search_start (struct GNUNET_FS_Handle *h, const struct GNUNET_FS_Uri *uri, sc->uri = GNUNET_FS_uri_dup (uri); sc->anonymity = anonymity; sc->start_time = GNUNET_TIME_absolute_get (); - if (psearch != NULL) + if (NULL != psearch) { sc->psearch_result = psearch; psearch->update_search = sc; @@ -1237,7 +1236,7 @@ GNUNET_FS_search_start_searching_ (struct GNUNET_FS_SearchContext *sc) keyword = &sc->uri->data.ksk.keywords[i][1]; GNUNET_CRYPTO_hash (keyword, strlen (keyword), &hc); pk = GNUNET_CRYPTO_rsa_key_create_from_hash (&hc); - GNUNET_assert (pk != NULL); + GNUNET_assert (NULL != pk); GNUNET_CRYPTO_rsa_key_get_public (pk, &pub); GNUNET_CRYPTO_rsa_key_free (pk); GNUNET_CRYPTO_hash (&pub, @@ -1273,17 +1272,17 @@ search_result_freeze_probes (void *cls, const GNUNET_HashCode * key, { struct GNUNET_FS_SearchResult *sr = value; - if (sr->probe_ctx != NULL) + if (NULL != sr->probe_ctx) { GNUNET_FS_download_stop (sr->probe_ctx, GNUNET_YES); sr->probe_ctx = NULL; } - if (sr->probe_cancel_task != GNUNET_SCHEDULER_NO_TASK) + if (GNUNET_SCHEDULER_NO_TASK != sr->probe_cancel_task) { GNUNET_SCHEDULER_cancel (sr->probe_cancel_task); sr->probe_cancel_task = GNUNET_SCHEDULER_NO_TASK; } - if (sr->update_search != NULL) + if (NULL != sr->update_search) GNUNET_FS_search_pause (sr->update_search); return GNUNET_OK; } @@ -1304,7 +1303,7 @@ search_result_resume_probes (void *cls, const GNUNET_HashCode * key, struct GNUNET_FS_SearchResult *sr = value; GNUNET_FS_search_start_probe_ (sr); - if (sr->update_search != NULL) + if (NULL != sr->update_search) GNUNET_FS_search_continue (sr->update_search); return GNUNET_OK; } @@ -1325,10 +1324,21 @@ search_result_suspend (void *cls, const GNUNET_HashCode * key, void *value) struct GNUNET_FS_SearchResult *sr = value; struct GNUNET_FS_ProgressInfo pi; - if (sr->download != NULL) + if (NULL != sr->download) + { GNUNET_FS_download_signal_suspend_ (sr->download); - if (sr->update_search != NULL) + sr->download = NULL; + } + if (NULL != sr->probe_ctx) + { + GNUNET_FS_download_stop (sr->probe_ctx, GNUNET_YES); + sr->probe_ctx = NULL; + } + if (NULL != sr->update_search) + { GNUNET_FS_search_signal_suspend_ (sr->update_search); + sr->update_search = NULL; + } pi.status = GNUNET_FS_STATUS_SEARCH_RESULT_SUSPEND; pi.value.search.specifics.result_suspend.cctx = sr->client_info; pi.value.search.specifics.result_suspend.meta = sr->meta; @@ -1338,10 +1348,11 @@ search_result_suspend (void *cls, const GNUNET_HashCode * key, void *value) GNUNET_free_non_null (sr->serialization); GNUNET_FS_uri_destroy (sr->uri); GNUNET_CONTAINER_meta_data_destroy (sr->meta); - if (sr->probe_ctx != NULL) - GNUNET_FS_download_stop (sr->probe_ctx, GNUNET_YES); - if (sr->probe_cancel_task != GNUNET_SCHEDULER_NO_TASK) + if (GNUNET_SCHEDULER_NO_TASK != sr->probe_cancel_task) + { GNUNET_SCHEDULER_cancel (sr->probe_cancel_task); + sr->probe_cancel_task = GNUNET_SCHEDULER_NO_TASK; + } GNUNET_free_non_null (sr->keyword_bitmap); GNUNET_free (sr); return GNUNET_OK; @@ -1372,7 +1383,7 @@ GNUNET_FS_search_signal_suspend_ (void *cls) if (NULL != sc->client) GNUNET_CLIENT_disconnect (sc->client); GNUNET_CONTAINER_multihashmap_destroy (sc->master_result_map); - if (sc->requests != NULL) + if (NULL != sc->requests) { GNUNET_assert (GNUNET_FS_uri_test_ksk (sc->uri)); for (i = 0; i < sc->uri->data.ksk.keywordCount; i++) @@ -1405,7 +1416,7 @@ GNUNET_FS_search_start (struct GNUNET_FS_Handle *h, struct GNUNET_FS_SearchContext *ret; ret = search_start (h, uri, anonymity, options, cctx, NULL); - if (ret == NULL) + if (NULL == ret) return NULL; ret->top = GNUNET_FS_make_top (h, &GNUNET_FS_search_signal_suspend_, ret); return ret; @@ -1422,7 +1433,7 @@ GNUNET_FS_search_pause (struct GNUNET_FS_SearchContext *sc) { struct GNUNET_FS_ProgressInfo pi; - if (sc->task != GNUNET_SCHEDULER_NO_TASK) + if (GNUNET_SCHEDULER_NO_TASK != sc->task) GNUNET_SCHEDULER_cancel (sc->task); sc->task = GNUNET_SCHEDULER_NO_TASK; if (NULL != sc->client) @@ -1446,8 +1457,8 @@ GNUNET_FS_search_continue (struct GNUNET_FS_SearchContext *sc) { struct GNUNET_FS_ProgressInfo pi; - GNUNET_assert (sc->client == NULL); - GNUNET_assert (sc->task == GNUNET_SCHEDULER_NO_TASK); + GNUNET_assert (NULL == sc->client); + GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == sc->task); do_reconnect (sc, NULL); GNUNET_FS_search_sync_ (sc); pi.status = GNUNET_FS_STATUS_SEARCH_CONTINUED; @@ -1515,15 +1526,15 @@ search_result_free (void *cls, const GNUNET_HashCode * key, void *value) if (NULL != sr->update_search) { GNUNET_FS_search_stop (sr->update_search); - GNUNET_assert (sr->update_search == NULL); + GNUNET_assert (NULL == sr->update_search); } GNUNET_break (NULL == sr->client_info); GNUNET_free_non_null (sr->serialization); GNUNET_FS_uri_destroy (sr->uri); GNUNET_CONTAINER_meta_data_destroy (sr->meta); - if (sr->probe_ctx != NULL) + if (NULL != sr->probe_ctx) GNUNET_FS_download_stop (sr->probe_ctx, GNUNET_YES); - if (sr->probe_cancel_task != GNUNET_SCHEDULER_NO_TASK) + if (GNUNET_SCHEDULER_NO_TASK != sr->probe_cancel_task) GNUNET_SCHEDULER_cancel (sr->probe_cancel_task); GNUNET_free_non_null (sr->keyword_bitmap); GNUNET_free (sr); @@ -1542,13 +1553,13 @@ GNUNET_FS_search_stop (struct GNUNET_FS_SearchContext *sc) struct GNUNET_FS_ProgressInfo pi; unsigned int i; - if (sc->top != NULL) + if (NULL != sc->top) GNUNET_FS_end_top (sc->h, sc->top); GNUNET_CONTAINER_multihashmap_iterate (sc->master_result_map, &search_result_stop, sc); - if (sc->psearch_result != NULL) + if (NULL != sc->psearch_result) sc->psearch_result->update_search = NULL; - if (sc->serialization != NULL) + if (NULL != sc->serialization) { GNUNET_FS_remove_sync_file_ (sc->h, (sc->psearch_result != @@ -1565,14 +1576,14 @@ GNUNET_FS_search_stop (struct GNUNET_FS_SearchContext *sc) pi.status = GNUNET_FS_STATUS_SEARCH_STOPPED; sc->client_info = GNUNET_FS_search_make_status_ (&pi, sc); GNUNET_break (NULL == sc->client_info); - if (sc->task != GNUNET_SCHEDULER_NO_TASK) + if (GNUNET_SCHEDULER_NO_TASK != sc->task) GNUNET_SCHEDULER_cancel (sc->task); if (NULL != sc->client) GNUNET_CLIENT_disconnect (sc->client); GNUNET_CONTAINER_multihashmap_iterate (sc->master_result_map, &search_result_free, sc); GNUNET_CONTAINER_multihashmap_destroy (sc->master_result_map); - if (sc->requests != NULL) + if (NULL == sc->requests) { GNUNET_assert (GNUNET_FS_uri_test_ksk (sc->uri)); for (i = 0; i < sc->uri->data.ksk.keywordCount; i++)