- entry = GNUNET_malloc (sizeof (struct FlatFileEntry));
- entry->private_key = GNUNET_malloc (sizeof (struct GNUNET_CRYPTO_EcdsaPrivateKey));
- GNUNET_asprintf (&entry->label,
- label,
- strlen (label));
- memcpy (entry->private_key,
- zone_key,
- sizeof (struct GNUNET_CRYPTO_EcdsaPrivateKey));
- entry->rvalue = rvalue;
- entry->record_count = rd_count;
- entry->record_data = GNUNET_malloc (sizeof (struct GNUNET_GNSRECORD_Data) * rd_count);
- for (i = 0; i < rd_count; i++)
- {
- entry->record_data[i].expiration_time = rd[i].expiration_time;
- entry->record_data[i].record_type = rd[i].record_type;
- entry->record_data[i].flags = rd[i].flags;
- entry->record_data[i].data_size = rd[i].data_size;
- entry->record_data[i].data = GNUNET_malloc (rd[i].data_size);
- memcpy ((char*)entry->record_data[i].data, rd[i].data, rd[i].data_size);
- }
- return GNUNET_CONTAINER_multihashmap_put (plugin->hm,
- &hkey,
- entry,
- GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY);