diff options
author | Omar Tarabai <tarabai@devegypt.com> | 2014-05-12 10:10:41 +0000 |
---|---|---|
committer | Omar Tarabai <tarabai@devegypt.com> | 2014-05-12 10:10:41 +0000 |
commit | d9cc0e96edf3637d292bf09671b216bf396faa36 (patch) | |
tree | bbbb0d642f73e817e5551f8c7f9de0a80343382c /src/peerstore/gnunet-service-peerstore.c | |
parent | 54b5026b7bf917816bef12620f94715ae1dd6f78 (diff) | |
download | gnunet-d9cc0e96edf3637d292bf09671b216bf396faa36.tar.gz gnunet-d9cc0e96edf3637d292bf09671b216bf396faa36.zip |
PEERSTORE api fix
Diffstat (limited to 'src/peerstore/gnunet-service-peerstore.c')
-rw-r--r-- | src/peerstore/gnunet-service-peerstore.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/peerstore/gnunet-service-peerstore.c b/src/peerstore/gnunet-service-peerstore.c index f56860971..35eee01b1 100644 --- a/src/peerstore/gnunet-service-peerstore.c +++ b/src/peerstore/gnunet-service-peerstore.c | |||
@@ -102,13 +102,17 @@ void handle_store (void *cls, | |||
102 | //TODO: do the actual storage | 102 | //TODO: do the actual storage |
103 | //create a fake response for testing | 103 | //create a fake response for testing |
104 | char *response = "This is a response"; | 104 | char *response = "This is a response"; |
105 | uint16_t resp_size = strlen(response); | ||
105 | tc = GNUNET_SERVER_transmit_context_create (client); | 106 | tc = GNUNET_SERVER_transmit_context_create (client); |
106 | sresm = malloc(sizeof(struct StoreResponseMessage) + strlen(response)); | 107 | msg_size = sizeof(struct StoreResponseMessage) + resp_size; |
108 | sresm = malloc(msg_size); | ||
109 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Sending a response to client of size: %u, response size: %u\n", msg_size, resp_size); | ||
107 | sresm->header.type = htons(GNUNET_MESSAGE_TYPE_PEERSTORE_STORE_RESULT); | 110 | sresm->header.type = htons(GNUNET_MESSAGE_TYPE_PEERSTORE_STORE_RESULT); |
108 | sresm->header.size = htons(sizeof(struct StoreResponseMessage) + strlen(response)); | 111 | sresm->header.size = htons(msg_size); |
109 | sresm->success = htons(GNUNET_NO); | 112 | sresm->success = htons(GNUNET_NO); |
110 | sresm->emsg_size = htons(strlen(response)); | 113 | sresm->emsg_size = htons(resp_size); |
111 | memcpy(&sresm[1], response, strlen(response)); | 114 | char *msg_ptr = (char *)&sresm[1]; |
115 | memcpy(msg_ptr, response, resp_size); | ||
112 | GNUNET_SERVER_transmit_context_append_message(tc, (struct GNUNET_MessageHeader *)sresm); | 116 | GNUNET_SERVER_transmit_context_append_message(tc, (struct GNUNET_MessageHeader *)sresm); |
113 | GNUNET_SERVER_transmit_context_run (tc, GNUNET_TIME_UNIT_FOREVER_REL); | 117 | GNUNET_SERVER_transmit_context_run (tc, GNUNET_TIME_UNIT_FOREVER_REL); |
114 | } | 118 | } |