SILC Runtime Toolkit 1.2 Beta 1
[runtime.git] / lib / silcutil / silcmime.c
index 04b23adb5fc09b542f5c9fc62753303581cbeaad..9ea1ef4f34eecb3bd4f9e2e9a90de1d32aba1545 100644 (file)
@@ -4,7 +4,7 @@
 
   Author: Pekka Riikonen <priikone@silcnet.org>
 
-  Copyright (C) 2005 - 2007 Pekka Riikonen
+  Copyright (C) 2005 - 2008 Pekka Riikonen
 
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -17,7 +17,7 @@
 
 */
 
-#include "silc.h"
+#include "silcruntime.h"
 
 /************************** Types and definitions ***************************/
 
@@ -29,14 +29,6 @@ typedef struct {
 
 /************************ 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,
@@ -64,7 +56,7 @@ static void silc_mime_assemble_dest(void *key, void *context,
 static SilcUInt32 silc_mime_hash_id(void *key, void *user_context)
 {
   SilcMimeFragmentId id = key;
-  return silc_hash_string(id->id, user_context);
+  return silc_hash_string_case(id->id, user_context);
 }
 
 /* MIME fragment ID comparing */
@@ -73,7 +65,7 @@ static SilcBool silc_mime_id_compare(void *key1, void *key2,
                                     void *user_context)
 {
   SilcMimeFragmentId id1 = key1, id2 = key2;
-  return silc_hash_string_compare(id1->id, id2->id, user_context);
+  return silc_hash_string_case_compare(id1->id, id2->id, user_context);
 }
 
 
@@ -89,9 +81,9 @@ SilcMime silc_mime_alloc(void)
   if (!mime)
     return NULL;
 
-  mime->fields = silc_hash_table_alloc(NULL, 0, silc_hash_string, mime,
-                                      silc_hash_string_compare, mime,
-                                      silc_mime_field_dest, mime, TRUE);
+  mime->fields = silc_hash_table_alloc(NULL, 0, silc_hash_string_case, mime,
+                                      silc_hash_string_case_compare, mime,
+                                      silc_hash_destructor, mime, TRUE);
   if (!mime->fields) {
     silc_mime_free(mime);
     return NULL;