diff options
author | Christian Grothoff <christian@grothoff.org> | 2010-05-04 13:26:08 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2010-05-04 13:26:08 +0000 |
commit | a7702e62f74942cef0f15006ba77ce53bd9c9233 (patch) | |
tree | 739fb7912941aef657e41a961fb72b50d0b20fda /src/fs/fs_search.c | |
parent | 3ede3725b99f21a0961f7852b3483eb0f7e2dfec (diff) | |
download | gnunet-a7702e62f74942cef0f15006ba77ce53bd9c9233.tar.gz gnunet-a7702e62f74942cef0f15006ba77ce53bd9c9233.zip |
cleaning up serialization pdir structure mess
Diffstat (limited to 'src/fs/fs_search.c')
-rw-r--r-- | src/fs/fs_search.c | 40 |
1 files changed, 14 insertions, 26 deletions
diff --git a/src/fs/fs_search.c b/src/fs/fs_search.c index f36b46a16..6c4224d1e 100644 --- a/src/fs/fs_search.c +++ b/src/fs/fs_search.c | |||
@@ -1407,7 +1407,6 @@ search_result_free (void *cls, | |||
1407 | { | 1407 | { |
1408 | struct GNUNET_FS_SearchContext *sc = cls; | 1408 | struct GNUNET_FS_SearchContext *sc = cls; |
1409 | struct GNUNET_FS_Handle *h = sc->h; | 1409 | struct GNUNET_FS_Handle *h = sc->h; |
1410 | char pbuf[32]; | ||
1411 | struct GNUNET_FS_SearchResult *sr = value; | 1410 | struct GNUNET_FS_SearchResult *sr = value; |
1412 | struct GNUNET_FS_ProgressInfo pi; | 1411 | struct GNUNET_FS_ProgressInfo pi; |
1413 | 1412 | ||
@@ -1434,19 +1433,7 @@ search_result_free (void *cls, | |||
1434 | pi.value.search.specifics.result_stopped.uri = sr->uri; | 1433 | pi.value.search.specifics.result_stopped.uri = sr->uri; |
1435 | sr->client_info = GNUNET_FS_search_make_status_ (&pi, sc); | 1434 | sr->client_info = GNUNET_FS_search_make_status_ (&pi, sc); |
1436 | GNUNET_break (NULL == sr->client_info); | 1435 | GNUNET_break (NULL == sr->client_info); |
1437 | if (sr->serialization != NULL) | 1436 | GNUNET_free_non_null (sr->serialization); |
1438 | { | ||
1439 | GNUNET_snprintf (pbuf, | ||
1440 | sizeof (pbuf), | ||
1441 | "%s%s%s", | ||
1442 | GNUNET_FS_SYNC_PATH_SEARCH_RESULT, | ||
1443 | DIR_SEPARATOR_STR, | ||
1444 | sc->serialization); | ||
1445 | GNUNET_FS_remove_sync_file_ (sc->h, | ||
1446 | pbuf, | ||
1447 | sr->serialization); | ||
1448 | GNUNET_free (sr->serialization); | ||
1449 | } | ||
1450 | GNUNET_FS_uri_destroy (sr->uri); | 1437 | GNUNET_FS_uri_destroy (sr->uri); |
1451 | GNUNET_CONTAINER_meta_data_destroy (sr->meta); | 1438 | GNUNET_CONTAINER_meta_data_destroy (sr->meta); |
1452 | if (sr->probe_ctx != NULL) | 1439 | if (sr->probe_ctx != NULL) |
@@ -1470,16 +1457,9 @@ GNUNET_FS_search_stop (struct GNUNET_FS_SearchContext *sc) | |||
1470 | struct GNUNET_FS_ProgressInfo pi; | 1457 | struct GNUNET_FS_ProgressInfo pi; |
1471 | unsigned int i; | 1458 | unsigned int i; |
1472 | struct GNUNET_FS_SearchContext *parent; | 1459 | struct GNUNET_FS_SearchContext *parent; |
1473 | int had_result; | ||
1474 | 1460 | ||
1475 | if (sc->top != NULL) | 1461 | if (sc->top != NULL) |
1476 | GNUNET_FS_end_top (sc->h, sc->top); | 1462 | GNUNET_FS_end_top (sc->h, sc->top); |
1477 | if (sc->serialization != NULL) | ||
1478 | GNUNET_FS_remove_sync_file_ (sc->h, | ||
1479 | (sc->parent != NULL) | ||
1480 | ? GNUNET_FS_SYNC_PATH_CHILD_SEARCH | ||
1481 | : GNUNET_FS_SYNC_PATH_MASTER_SEARCH, | ||
1482 | sc->serialization); | ||
1483 | if (NULL != (parent = sc->parent)) | 1463 | if (NULL != (parent = sc->parent)) |
1484 | { | 1464 | { |
1485 | GNUNET_CONTAINER_DLL_remove (parent->child_head, | 1465 | GNUNET_CONTAINER_DLL_remove (parent->child_head, |
@@ -1489,14 +1469,22 @@ GNUNET_FS_search_stop (struct GNUNET_FS_SearchContext *sc) | |||
1489 | } | 1469 | } |
1490 | while (NULL != sc->child_head) | 1470 | while (NULL != sc->child_head) |
1491 | GNUNET_FS_search_stop (sc->child_head); | 1471 | GNUNET_FS_search_stop (sc->child_head); |
1492 | had_result = (0 != GNUNET_CONTAINER_multihashmap_size (sc->master_result_map)) ? GNUNET_YES : GNUNET_NO; | ||
1493 | GNUNET_CONTAINER_multihashmap_iterate (sc->master_result_map, | 1472 | GNUNET_CONTAINER_multihashmap_iterate (sc->master_result_map, |
1494 | &search_result_free, | 1473 | &search_result_free, |
1495 | sc); | 1474 | sc); |
1496 | if (had_result) | 1475 | if (sc->serialization != NULL) |
1497 | GNUNET_FS_remove_sync_dir_ (sc->h, | 1476 | { |
1498 | GNUNET_FS_SYNC_PATH_SEARCH_RESULT, | 1477 | GNUNET_FS_remove_sync_file_ (sc->h, |
1499 | sc->serialization); | 1478 | (sc->parent != NULL) |
1479 | ? GNUNET_FS_SYNC_PATH_CHILD_SEARCH | ||
1480 | : GNUNET_FS_SYNC_PATH_MASTER_SEARCH, | ||
1481 | sc->serialization); | ||
1482 | GNUNET_FS_remove_sync_dir_ (sc->h, | ||
1483 | (sc->parent != NULL) | ||
1484 | ? GNUNET_FS_SYNC_PATH_CHILD_SEARCH | ||
1485 | : GNUNET_FS_SYNC_PATH_MASTER_SEARCH, | ||
1486 | sc->serialization); | ||
1487 | } | ||
1500 | pi.status = GNUNET_FS_STATUS_SEARCH_STOPPED; | 1488 | pi.status = GNUNET_FS_STATUS_SEARCH_STOPPED; |
1501 | sc->client_info = GNUNET_FS_search_make_status_ (&pi, sc); | 1489 | sc->client_info = GNUNET_FS_search_make_status_ (&pi, sc); |
1502 | GNUNET_break (NULL == sc->client_info); | 1490 | GNUNET_break (NULL == sc->client_info); |