void riack_free_get_object_p(riack_client *client, riack_get_object **object) { if (object && *object) { riack_free_object(client, &(*object)->object); RFREE(client, *object); *object = 0; } }
int test_meta_links_load() { RIACK_STRING bucket_posts, bucket_answers; struct RIACK_GET_OBJECT get_post; struct RIACK_OBJECT put_post; struct RIACK_STRING_LINKED_LIST *keys_posts, *current_post, *keys_answers, *current_answer; bucket_posts.len = strlen(RIAK_TEST_BUCKET_POSTS); bucket_posts.value = RIAK_TEST_BUCKET_POSTS; bucket_answers.len = strlen(RIAK_TEST_BUCKET_ANSWERS); bucket_answers.value = RIAK_TEST_BUCKET_ANSWERS; // Make random links between posts and comments if ((riack_list_keys(test_client, bucket_posts, &keys_posts) == RIACK_SUCCESS)&& (riack_list_keys(test_client, bucket_answers, &keys_answers) == RIACK_SUCCESS)) { current_post = keys_posts; current_answer = keys_answers; while (current_post && current_post->next) { if (riack_get(test_client, bucket_posts, current_post->string, 0, &get_post) == RIACK_SUCCESS) { if (get_post.object.content_count == 1) { memset(&put_post, 0, sizeof(put_post)); put_post.bucket = copy_string(&bucket_posts); put_post.key = copy_string(¤t_post->string); put_post.content_count = 1; put_post.content = copy_content(get_post.object.content); current_answer = test_make_links(current_answer, get_post.object.content); if (riack_put(test_client, put_post, 0, 0) != RIACK_SUCCESS) { return 1; } riack_free_object(test_client, &put_post); } riack_free_get_object(test_client, &get_post); } current_post = current_post->next; } } return 0; }
void riack_free_get_object(struct RIACK_CLIENT* client, struct RIACK_GET_OBJECT *pobject) { riack_free_object(client, &pobject->object); }