aboutsummaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2010-01-18 16:00:03 +0000
committerChristian Grothoff <christian@grothoff.org>2010-01-18 16:00:03 +0000
commitec4bcf7f589b285e5194394d1d72257ad25d4dd1 (patch)
tree8ba969f8c449b2f72cadaeb7c15e9121c2bde7e8 /src/util
parent13d33fdf12293f614db6fa08026c321be2989c95 (diff)
downloadgnunet-ec4bcf7f589b285e5194394d1d72257ad25d4dd1.tar.gz
gnunet-ec4bcf7f589b285e5194394d1d72257ad25d4dd1.zip
misc fixes
Diffstat (limited to 'src/util')
-rw-r--r--src/util/container_meta_data.c14
-rw-r--r--src/util/test_container_heap.c2
-rw-r--r--src/util/test_container_meta_data.c1
3 files changed, 13 insertions, 4 deletions
diff --git a/src/util/container_meta_data.c b/src/util/container_meta_data.c
index 82847f7af..fadb0dede 100644
--- a/src/util/container_meta_data.c
+++ b/src/util/container_meta_data.c
@@ -519,7 +519,8 @@ GNUNET_CONTAINER_meta_data_get_thumbnail (const struct
519 } 519 }
520 pos = pos->next; 520 pos = pos->next;
521 } 521 }
522 if (match == NULL) 522 if ( (match == NULL) ||
523 (match->data_size == 0) )
523 return 0; 524 return 0;
524 *thumb = GNUNET_malloc (match->data_size); 525 *thumb = GNUNET_malloc (match->data_size);
525 memcpy (*thumb, match->data, match->data_size); 526 memcpy (*thumb, match->data, match->data_size);
@@ -855,9 +856,11 @@ GNUNET_CONTAINER_meta_data_serialize (const struct GNUNET_CONTAINER_MetaData
855 off -= pos->data_size; 856 off -= pos->data_size;
856 memcpy (&mdata[off], pos->data, pos->data_size); 857 memcpy (&mdata[off], pos->data, pos->data_size);
857 off -= plen; 858 off -= plen;
858 memcpy (&mdata[off], pos->plugin_name, plen); 859 if (pos->plugin_name != NULL)
860 memcpy (&mdata[off], pos->plugin_name, plen);
859 off -= mlen; 861 off -= mlen;
860 memcpy (&mdata[off], pos->mime_type, mlen); 862 if (pos->mime_type != NULL)
863 memcpy (&mdata[off], pos->mime_type, mlen);
861 i++; 864 i++;
862 pos = pos->next; 865 pos = pos->next;
863 } 866 }
@@ -866,6 +869,7 @@ GNUNET_CONTAINER_meta_data_serialize (const struct GNUNET_CONTAINER_MetaData
866 clen = 0; 869 clen = 0;
867 cdata = NULL; 870 cdata = NULL;
868 left = size; 871 left = size;
872 pos = md->items;
869 for (i=0;i<md->item_count;i++) 873 for (i=0;i<md->item_count;i++)
870 { 874 {
871 comp = GNUNET_NO; 875 comp = GNUNET_NO;
@@ -887,6 +891,7 @@ GNUNET_CONTAINER_meta_data_serialize (const struct GNUNET_CONTAINER_MetaData
887 hdr->entries = htonl (md->item_count); 891 hdr->entries = htonl (md->item_count);
888 if (GNUNET_YES == comp) 892 if (GNUNET_YES == comp)
889 { 893 {
894 GNUNET_assert (clen < left);
890 hdr->version = htonl (2 | HEADER_COMPRESSED); 895 hdr->version = htonl (2 | HEADER_COMPRESSED);
891 memcpy (&hdr[1], 896 memcpy (&hdr[1],
892 cdata, 897 cdata,
@@ -960,7 +965,8 @@ GNUNET_CONTAINER_meta_data_serialize (const struct GNUNET_CONTAINER_MetaData
960 if (pos->plugin_name != NULL) 965 if (pos->plugin_name != NULL)
961 left -= strlen (pos->plugin_name) + 1; 966 left -= strlen (pos->plugin_name) + 1;
962 if (pos->mime_type != NULL) 967 if (pos->mime_type != NULL)
963 left -= strlen (pos->mime_type) + 1; 968 left -= strlen (pos->mime_type) + 1;
969 pos = pos->next;
964 } 970 }
965 GNUNET_free (ent); 971 GNUNET_free (ent);
966 972
diff --git a/src/util/test_container_heap.c b/src/util/test_container_heap.c
index b6e5f642a..b24624ad8 100644
--- a/src/util/test_container_heap.c
+++ b/src/util/test_container_heap.c
@@ -51,6 +51,7 @@ check ()
51 51
52 myHeap = GNUNET_CONTAINER_heap_create (GNUNET_CONTAINER_HEAP_ORDER_MIN); 52 myHeap = GNUNET_CONTAINER_heap_create (GNUNET_CONTAINER_HEAP_ORDER_MIN);
53 n1 = GNUNET_CONTAINER_heap_insert (myHeap, "11", 11); 53 n1 = GNUNET_CONTAINER_heap_insert (myHeap, "11", 11);
54 GNUNET_assert (NULL != n1);
54 GNUNET_CONTAINER_heap_iterate (myHeap, &iterator_callback, NULL); 55 GNUNET_CONTAINER_heap_iterate (myHeap, &iterator_callback, NULL);
55 GNUNET_assert (1 == GNUNET_CONTAINER_heap_get_size (myHeap)); 56 GNUNET_assert (1 == GNUNET_CONTAINER_heap_get_size (myHeap));
56 n2 = GNUNET_CONTAINER_heap_insert (myHeap, "78", 78); 57 n2 = GNUNET_CONTAINER_heap_insert (myHeap, "78", 78);
@@ -66,6 +67,7 @@ check ()
66 GNUNET_CONTAINER_heap_iterate (myHeap, &iterator_callback, NULL); 67 GNUNET_CONTAINER_heap_iterate (myHeap, &iterator_callback, NULL);
67 68
68 n4 = GNUNET_CONTAINER_heap_insert (myHeap, "50", 50); 69 n4 = GNUNET_CONTAINER_heap_insert (myHeap, "50", 50);
70 GNUNET_CONTAINER_heap_update_cost (myHeap, n4, 0);
69 GNUNET_assert (3 == GNUNET_CONTAINER_heap_get_size (myHeap)); 71 GNUNET_assert (3 == GNUNET_CONTAINER_heap_get_size (myHeap));
70 GNUNET_CONTAINER_heap_iterate (myHeap, &iterator_callback, NULL); 72 GNUNET_CONTAINER_heap_iterate (myHeap, &iterator_callback, NULL);
71 73
diff --git a/src/util/test_container_meta_data.c b/src/util/test_container_meta_data.c
index 2cf3f2a09..b6196da14 100644
--- a/src/util/test_container_meta_data.c
+++ b/src/util/test_container_meta_data.c
@@ -262,6 +262,7 @@ testThumbnail ()
262 EXTRACTOR_plugin_remove_all (ex); 262 EXTRACTOR_plugin_remove_all (ex);
263 d = GNUNET_CONTAINER_meta_data_duplicate (m); 263 d = GNUNET_CONTAINER_meta_data_duplicate (m);
264 GNUNET_CONTAINER_meta_data_destroy (m); 264 GNUNET_CONTAINER_meta_data_destroy (m);
265 thumb = NULL;
265 size = GNUNET_CONTAINER_meta_data_get_thumbnail (d, &thumb); 266 size = GNUNET_CONTAINER_meta_data_get_thumbnail (d, &thumb);
266 if (size == 0) 267 if (size == 0)
267 { 268 {