summaryrefslogtreecommitdiff
path: root/src/namestore/gnunet-service-namestore.c
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2013-10-28 14:02:20 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2013-10-28 14:02:20 +0000
commit39dceb2cfe324e3f1b44958e3cf4cb936ab76881 (patch)
treebe84fba9fed2e859805475b6bff5a8bd3915e854 /src/namestore/gnunet-service-namestore.c
parent50a4192766dd96f383020f9b2989b047155e4db3 (diff)
downloadgnunet-39dceb2cfe324e3f1b44958e3cf4cb936ab76881.tar.gz
gnunet-39dceb2cfe324e3f1b44958e3cf4cb936ab76881.zip
extended plugin api to support lookup function
added new index to both plugins implemented lookup functionality in both plugins namestore uses lookup function
Diffstat (limited to 'src/namestore/gnunet-service-namestore.c')
-rw-r--r--src/namestore/gnunet-service-namestore.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/namestore/gnunet-service-namestore.c b/src/namestore/gnunet-service-namestore.c
index 0fce443c7..2353eadec 100644
--- a/src/namestore/gnunet-service-namestore.c
+++ b/src/namestore/gnunet-service-namestore.c
@@ -623,7 +623,6 @@ handle_record_lookup (void *cls,
623 uint32_t name_len; 623 uint32_t name_len;
624 size_t src_size; 624 size_t src_size;
625 size_t res_size; 625 size_t res_size;
626 int offset;
627 int res; 626 int res;
628 627
629 if (ntohs (message->size) < sizeof (struct LabelLookupMessage)) 628 if (ntohs (message->size) < sizeof (struct LabelLookupMessage))
@@ -664,15 +663,8 @@ handle_record_lookup (void *cls,
664 rlc.rd_ser_len = 0; 663 rlc.rd_ser_len = 0;
665 rlc.res_rd = NULL; 664 rlc.res_rd = NULL;
666 665
667 offset = 0; 666 res = GSN_database->lookup_records (GSN_database->cls,
668 do 667 &ll_msg->zone, name_tmp, &lookup_it, &rlc);
669 {
670 /* changee this call */
671 res = GSN_database->iterate_records (GSN_database->cls,
672 &ll_msg->zone, offset, &lookup_it, &rlc);
673 offset++;
674 }
675 while ((GNUNET_NO == rlc.found) && (GNUNET_OK == res));
676 668
677 res_size = sizeof (struct LabelLookupResponseMessage) + name_len + rlc.rd_ser_len; 669 res_size = sizeof (struct LabelLookupResponseMessage) + name_len + rlc.rd_ser_len;
678 llr_msg = GNUNET_malloc (res_size); 670 llr_msg = GNUNET_malloc (res_size);
@@ -684,6 +676,10 @@ handle_record_lookup (void *cls,
684 llr_msg->rd_count = htons (rlc.res_rd_count); 676 llr_msg->rd_count = htons (rlc.res_rd_count);
685 llr_msg->rd_len = htons (rlc.rd_ser_len); 677 llr_msg->rd_len = htons (rlc.rd_ser_len);
686 res_name = (char *) &llr_msg[1]; 678 res_name = (char *) &llr_msg[1];
679 if ((GNUNET_YES == rlc.found) && (GNUNET_OK == res))
680 llr_msg->found = ntohs (GNUNET_YES);
681 else
682 llr_msg->found = ntohs (GNUNET_NO);
687 memcpy (&llr_msg[1], name_tmp, name_len); 683 memcpy (&llr_msg[1], name_tmp, name_len);
688 memcpy (&res_name[name_len], rlc.res_rd, rlc.rd_ser_len); 684 memcpy (&res_name[name_len], rlc.res_rd, rlc.rd_ser_len);
689 685