aboutsummaryrefslogtreecommitdiff
path: root/src/util/container_meta_data.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2009-08-27 11:14:19 +0000
committerChristian Grothoff <christian@grothoff.org>2009-08-27 11:14:19 +0000
commit57df0fbf8398720fbd4a9cf34934c212ea00ee54 (patch)
treea00d5740b2a35e21d4cff044c4ce941995b1bdff /src/util/container_meta_data.c
parent2f7e69f969a822a38f9e311f79358e0fe8bda9d8 (diff)
downloadgnunet-57df0fbf8398720fbd4a9cf34934c212ea00ee54.tar.gz
gnunet-57df0fbf8398720fbd4a9cf34934c212ea00ee54.zip
syn
Diffstat (limited to 'src/util/container_meta_data.c')
-rw-r--r--src/util/container_meta_data.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/util/container_meta_data.c b/src/util/container_meta_data.c
index 6265fc142..d80c5fd2b 100644
--- a/src/util/container_meta_data.c
+++ b/src/util/container_meta_data.c
@@ -442,9 +442,9 @@ struct MetaDataHeader
442 * GNUNET_SYSERR on error (typically: not enough 442 * GNUNET_SYSERR on error (typically: not enough
443 * space) 443 * space)
444 */ 444 */
445int 445ssize_t
446GNUNET_CONTAINER_meta_data_serialize (const struct GNUNET_CONTAINER_MetaData 446GNUNET_CONTAINER_meta_data_serialize (const struct GNUNET_CONTAINER_MetaData
447 *md, char *target, unsigned int max, 447 *md, char *target, size_t max,
448 enum 448 enum
449 GNUNET_CONTAINER_MetaDataSerializationOptions 449 GNUNET_CONTAINER_MetaDataSerializationOptions
450 part) 450 part)
@@ -463,7 +463,7 @@ GNUNET_CONTAINER_meta_data_serialize (const struct GNUNET_CONTAINER_MetaData
463 while (1) 463 while (1)
464 { 464 {
465 size = sizeof (struct MetaDataHeader); 465 size = sizeof (struct MetaDataHeader);
466 size += sizeof (unsigned int) * ic; 466 size += sizeof (uint32_t) * ic;
467 for (i = 0; i < ic; i++) 467 for (i = 0; i < ic; i++)
468 size += 1 + strlen (md->items[i].data); 468 size += 1 + strlen (md->items[i].data);
469 while (size % 8 != 0) 469 while (size % 8 != 0)
@@ -472,8 +472,8 @@ GNUNET_CONTAINER_meta_data_serialize (const struct GNUNET_CONTAINER_MetaData
472 hdr->version = htonl (md == NULL ? 1 : 0); 472 hdr->version = htonl (md == NULL ? 1 : 0);
473 hdr->entries = htonl (ic); 473 hdr->entries = htonl (ic);
474 for (i = 0; i < ic; i++) 474 for (i = 0; i < ic; i++)
475 ((unsigned int *) &hdr[1])[i] = 475 ((uint32_t *) &hdr[1])[i] =
476 htonl ((unsigned int) md->items[i].type); 476 htonl ((uint32_t) md->items[i].type);
477 pos = sizeof (struct MetaDataHeader); 477 pos = sizeof (struct MetaDataHeader);
478 pos += sizeof (unsigned int) * ic; 478 pos += sizeof (unsigned int) * ic;
479 for (i = 0; i < ic; i++) 479 for (i = 0; i < ic; i++)
@@ -533,7 +533,7 @@ GNUNET_CONTAINER_meta_data_serialize (const struct GNUNET_CONTAINER_MetaData
533 * serialized form. The estimate MAY be higher 533 * serialized form. The estimate MAY be higher
534 * than what is strictly needed. 534 * than what is strictly needed.
535 */ 535 */
536unsigned int 536ssize_t
537GNUNET_CONTAINER_meta_data_get_serialized_size (const struct 537GNUNET_CONTAINER_meta_data_get_serialized_size (const struct
538 GNUNET_CONTAINER_MetaData *md, 538 GNUNET_CONTAINER_MetaData *md,
539 enum 539 enum
@@ -549,7 +549,7 @@ GNUNET_CONTAINER_meta_data_get_serialized_size (const struct
549 549
550 ic = md ? md->itemCount : 0; 550 ic = md ? md->itemCount : 0;
551 size = sizeof (struct MetaDataHeader); 551 size = sizeof (struct MetaDataHeader);
552 size += sizeof (unsigned int) * ic; 552 size += sizeof (uint32_t) * ic;
553 for (i = 0; i < ic; i++) 553 for (i = 0; i < ic; i++)
554 size += 1 + strlen (md->items[i].data); 554 size += 1 + strlen (md->items[i].data);
555 while (size % 8 != 0) 555 while (size % 8 != 0)
@@ -558,9 +558,9 @@ GNUNET_CONTAINER_meta_data_get_serialized_size (const struct
558 hdr->version = htonl (md == NULL ? 1 : 0); 558 hdr->version = htonl (md == NULL ? 1 : 0);
559 hdr->entries = htonl (ic); 559 hdr->entries = htonl (ic);
560 for (i = 0; i < ic; i++) 560 for (i = 0; i < ic; i++)
561 ((unsigned int *) &hdr[1])[i] = htonl ((unsigned int) md->items[i].type); 561 ((uint32_t *) &hdr[1])[i] = htonl ((uint32_t) md->items[i].type);
562 pos = sizeof (struct MetaDataHeader); 562 pos = sizeof (struct MetaDataHeader);
563 pos += sizeof (unsigned int) * ic; 563 pos += sizeof (uint32_t) * ic;
564 for (i = 0; i < ic; i++) 564 for (i = 0; i < ic; i++)
565 { 565 {
566 len = strlen (md->items[i].data) + 1; 566 len = strlen (md->items[i].data) + 1;
@@ -590,7 +590,7 @@ GNUNET_CONTAINER_meta_data_get_serialized_size (const struct
590 * bad format) 590 * bad format)
591 */ 591 */
592struct GNUNET_CONTAINER_MetaData * 592struct GNUNET_CONTAINER_MetaData *
593GNUNET_CONTAINER_meta_data_deserialize (const char *input, unsigned int size) 593GNUNET_CONTAINER_meta_data_deserialize (const char *input, size_t size)
594{ 594{
595 struct GNUNET_CONTAINER_MetaData *md; 595 struct GNUNET_CONTAINER_MetaData *md;
596 const struct MetaDataHeader *hdr; 596 const struct MetaDataHeader *hdr;
@@ -599,9 +599,9 @@ GNUNET_CONTAINER_meta_data_deserialize (const char *input, unsigned int size)
599 const char *cdata; 599 const char *cdata;
600 uint32_t dataSize; 600 uint32_t dataSize;
601 int compressed; 601 int compressed;
602 int i; 602 uint32_t i;
603 unsigned int pos; 603 size_t pos;
604 int len; 604 size_t len;
605 uint32_t version; 605 uint32_t version;
606 606
607 if (size < sizeof (struct MetaDataHeader)) 607 if (size < sizeof (struct MetaDataHeader))
@@ -651,7 +651,7 @@ GNUNET_CONTAINER_meta_data_deserialize (const char *input, unsigned int size)
651 } 651 }
652 } 652 }
653 653
654 if ((sizeof (unsigned int) * ic + ic) > dataSize) 654 if ((sizeof (uint32_t) * ic + ic) > dataSize)
655 { 655 {
656 GNUNET_break (0); 656 GNUNET_break (0);
657 goto FAILURE; 657 goto FAILURE;
@@ -665,12 +665,12 @@ GNUNET_CONTAINER_meta_data_deserialize (const char *input, unsigned int size)
665 md = GNUNET_CONTAINER_meta_data_create (); 665 md = GNUNET_CONTAINER_meta_data_create ();
666 GNUNET_array_grow (md->items, md->itemCount, ic); 666 GNUNET_array_grow (md->items, md->itemCount, ic);
667 i = 0; 667 i = 0;
668 pos = sizeof (unsigned int) * ic; 668 pos = sizeof (uint32_t) * ic;
669 while ((pos < dataSize) && (i < ic)) 669 while ((pos < dataSize) && (i < ic))
670 { 670 {
671 len = strlen (&cdata[pos]) + 1; 671 len = strlen (&cdata[pos]) + 1;
672 md->items[i].type = (EXTRACTOR_KeywordType) 672 md->items[i].type = (EXTRACTOR_KeywordType)
673 ntohl (MAKE_UNALIGNED (((const unsigned int *) cdata)[i])); 673 ntohl (MAKE_UNALIGNED (((const uint32_t *) cdata)[i]));
674 md->items[i].data = GNUNET_strdup (&cdata[pos]); 674 md->items[i].data = GNUNET_strdup (&cdata[pos]);
675 pos += len; 675 pos += len;
676 i++; 676 i++;