/************************ Static utility functions **************************/
-/* MIME fields destructor */
-
-static void silc_mime_field_dest(void *key, void *context, void *user_context)
-{
- silc_free(key);
- silc_free(context);
-}
-
/* Assembler fragment destructor */
static void silc_mime_assembler_dest(void *key, void *context,
mime->fields = silc_hash_table_alloc(NULL, 0, silc_hash_string_case, mime,
silc_hash_string_case_compare, mime,
- silc_mime_field_dest, mime, TRUE);
+ silc_hash_destructor, mime, TRUE);
if (!mime->fields) {
silc_mime_free(mime);
return NULL;
if (buf_len > max_size) {
memset(id, 0, sizeof(id));
memset(type, 0, sizeof(type));
- gethostname(type, sizeof(type) - 1);
- srand((time(NULL) + buf_len) ^ rand());
- silc_snprintf(id, sizeof(id) - 1, "%X%X%X%s",
- (unsigned int)rand(), (unsigned int)time(NULL),
- (unsigned int)buf_len, type);
+ silc_snprintf(id, sizeof(id) - 1, "%X%x%X%x",
+ (unsigned int)silc_rand(), (unsigned int)silc_time_usec(),
+ (unsigned int)buf_len, (unsigned int)silc_rand());
SILC_LOG_DEBUG(("Fragment ID %s", id));