summaryrefslogtreecommitdiff
path: root/src/peerstore/gnunet-service-peerstore.c
diff options
context:
space:
mode:
authorOmar Tarabai <tarabai@devegypt.com>2014-05-12 10:10:41 +0000
committerOmar Tarabai <tarabai@devegypt.com>2014-05-12 10:10:41 +0000
commitd9cc0e96edf3637d292bf09671b216bf396faa36 (patch)
treebbbb0d642f73e817e5551f8c7f9de0a80343382c /src/peerstore/gnunet-service-peerstore.c
parent54b5026b7bf917816bef12620f94715ae1dd6f78 (diff)
downloadgnunet-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.c12
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}