From: Pekka Riikonen Date: Tue, 3 Jul 2007 19:50:03 +0000 (+0000) Subject: Added SilcStack support to SILC Hash Table API. X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=commitdiff_plain;h=c83ba40afd93d30aa4464a1fed61387373c41d87 Added SilcStack support to SILC Hash Table API. --- diff --git a/lib/silcapputil/silcidcache.c b/lib/silcapputil/silcidcache.c index a6d8c26e..d189e932 100644 --- a/lib/silcapputil/silcidcache.c +++ b/lib/silcapputil/silcidcache.c @@ -78,15 +78,15 @@ SilcIDCache silc_idcache_alloc(SilcUInt32 count, SilcIdType id_type, if (!cache) return NULL; - cache->id_table = silc_hash_table_alloc(count, silc_hash_id, + cache->id_table = silc_hash_table_alloc(NULL, count, silc_hash_id, SILC_32_TO_PTR(id_type), silc_hash_id_compare, SILC_32_TO_PTR(id_type), NULL, NULL, TRUE); - cache->name_table = silc_hash_table_alloc(count, silc_hash_utf8_string, NULL, - silc_hash_utf8_compare, NULL, + cache->name_table = silc_hash_table_alloc(NULL, count, silc_hash_utf8_string, + NULL, silc_hash_utf8_compare, NULL, NULL, NULL, TRUE); - cache->context_table = silc_hash_table_alloc(count, silc_hash_ptr, NULL, + cache->context_table = silc_hash_table_alloc(NULL, count, silc_hash_ptr, NULL, NULL, NULL, NULL, NULL, TRUE); cache->destructor = destructor; cache->context = destructor_context; diff --git a/lib/silcclient/client_attrs.c b/lib/silcclient/client_attrs.c index a7825270..34902df0 100644 --- a/lib/silcclient/client_attrs.c +++ b/lib/silcclient/client_attrs.c @@ -163,7 +163,7 @@ SilcAttributePayload silc_client_attribute_add(SilcClient client, if (!conn->internal->attrs) conn->internal->attrs = - silc_hash_table_alloc(0, silc_hash_ptr, NULL, NULL, + silc_hash_table_alloc(NULL, 0, silc_hash_ptr, NULL, NULL, NULL, silc_client_attribute_destruct, NULL, TRUE); silc_hash_table_add(conn->internal->attrs, diff --git a/lib/silcclient/client_entry.c b/lib/silcclient/client_entry.c index 0c812de0..1f39eed2 100644 --- a/lib/silcclient/client_entry.c +++ b/lib/silcclient/client_entry.c @@ -810,8 +810,8 @@ SilcClientEntry silc_client_add_client(SilcClient client, client_entry->hostname, sizeof(client_entry->hostname)); - client_entry->channels = silc_hash_table_alloc(1, silc_hash_ptr, NULL, NULL, - NULL, NULL, NULL, TRUE); + client_entry->channels = silc_hash_table_alloc(NULL, 1, silc_hash_ptr, NULL, + NULL, NULL, NULL, NULL, TRUE); if (!client_entry->channels) { silc_free(client_entry->realname); silc_free(client_entry); @@ -1643,7 +1643,7 @@ SilcChannelEntry silc_client_add_channel(SilcClient client, return NULL; } - channel->user_list = silc_hash_table_alloc(1, silc_hash_ptr, NULL, NULL, + channel->user_list = silc_hash_table_alloc(NULL, 1, silc_hash_ptr, NULL, NULL, NULL, NULL, NULL, TRUE); if (!channel->user_list) { silc_rwlock_free(channel->internal.lock); diff --git a/lib/silccore/silcpacket.c b/lib/silccore/silcpacket.c index 6dbb69bb..c8fd4b12 100644 --- a/lib/silccore/silcpacket.c +++ b/lib/silccore/silcpacket.c @@ -561,7 +561,8 @@ silc_packet_engine_start(SilcRng rng, SilcBool router, if (!engine) return NULL; - engine->contexts = silc_hash_table_alloc(0, silc_hash_ptr, NULL, NULL, NULL, + engine->contexts = silc_hash_table_alloc(NULL, 0, silc_hash_ptr, + NULL, NULL, NULL, silc_packet_engine_context_destr, engine, TRUE); if (!engine->contexts) { @@ -770,7 +771,7 @@ SilcPacketStream silc_packet_stream_create(SilcPacketEngine engine, /* If this is UDP stream, allocate UDP remote stream hash table */ if (!engine->udp_remote && silc_socket_stream_is_udp(stream, NULL)) - engine->udp_remote = silc_hash_table_alloc(0, silc_hash_string, NULL, + engine->udp_remote = silc_hash_table_alloc(NULL, 0, silc_hash_string, NULL, silc_hash_string_compare, NULL, silc_packet_engine_hash_destr, NULL, TRUE); diff --git a/lib/silcskr/silcskr.c b/lib/silcskr/silcskr.c index 0f2eef54..a3396612 100644 --- a/lib/silcskr/silcskr.c +++ b/lib/silcskr/silcskr.c @@ -626,7 +626,7 @@ SilcBool silc_skr_init(SilcSKR skr) if (!silc_mutex_alloc(&skr->lock)) return FALSE; - skr->keys = silc_hash_table_alloc(0, silc_skr_hash, NULL, + skr->keys = silc_hash_table_alloc(NULL, 0, silc_skr_hash, NULL, silc_skr_compare, NULL, silc_skr_destructor, NULL, TRUE); if (!skr->keys) @@ -779,7 +779,8 @@ SilcSKRFind silc_skr_find_alloc(void) if (!find) return NULL; - find->constr = silc_hash_table_alloc(0, silc_hash_uint, NULL, NULL, NULL, + find->constr = silc_hash_table_alloc(NULL, 0, silc_hash_uint, + NULL, NULL, NULL, silc_skr_find_destructor, NULL, TRUE); if (!find->constr) { silc_skr_find_free(find); diff --git a/lib/silcutil/Makefile.ad b/lib/silcutil/Makefile.ad index d14a624d..5412a6c1 100644 --- a/lib/silcutil/Makefile.ad +++ b/lib/silcutil/Makefile.ad @@ -69,7 +69,9 @@ libsilcutil_la_SOURCES = \ silcmime.c \ silcstack.c \ silcsnprintf.c \ - silcthread.c + silcthread.c \ + silcdll.c \ + silcenv.c #ifdef SILC_DIST_TOOLKIT include_HEADERS = \ @@ -110,7 +112,9 @@ include_HEADERS = \ silcasync_i.h \ silcstack.h \ silcstack_i.h \ - silcsnprintf.h + silcsnprintf.h \ + silcdll.h \ + silcenv.h SILC_EXTRA_DIST = tests #endif SILC_DIST_TOOLKIT diff --git a/lib/silcutil/silcmime.c b/lib/silcutil/silcmime.c index c0817ec0..6afc48f9 100644 --- a/lib/silcutil/silcmime.c +++ b/lib/silcutil/silcmime.c @@ -59,7 +59,7 @@ SilcMime silc_mime_alloc(void) if (!mime) return NULL; - mime->fields = silc_hash_table_alloc(0, silc_hash_string, mime, + mime->fields = silc_hash_table_alloc(NULL, 0, silc_hash_string, mime, silc_hash_string_compare, mime, silc_mime_field_dest, mime, TRUE); if (!mime->fields) { @@ -102,7 +102,7 @@ SilcMimeAssembler silc_mime_assembler_alloc(void) return NULL; assembler->fragments = - silc_hash_table_alloc(0, silc_hash_string, NULL, + silc_hash_table_alloc(NULL, 0, silc_hash_string, NULL, silc_hash_string_compare, NULL, silc_mime_assembler_dest, assembler, TRUE); if (!assembler->fragments) { @@ -468,7 +468,7 @@ SilcMime silc_mime_assemble(SilcMimeAssembler assembler, SilcMime partial) if (!silc_hash_table_find(assembler->fragments, (void *)id, NULL, (void *)&f)) { /* This is new fragment to new message. Add to hash table and return. */ - f = silc_hash_table_alloc(0, silc_hash_uint, NULL, NULL, NULL, + f = silc_hash_table_alloc(NULL, 0, silc_hash_uint, NULL, NULL, NULL, silc_mime_assemble_dest, NULL, TRUE); if (!f) goto err; diff --git a/lib/silcutil/silcschedule.c b/lib/silcutil/silcschedule.c index 53cb0aa7..bdda281e 100644 --- a/lib/silcutil/silcschedule.c +++ b/lib/silcutil/silcschedule.c @@ -323,7 +323,7 @@ SilcSchedule silc_schedule_init(int max_tasks, void *app_context) return NULL; schedule->fd_queue = - silc_hash_table_alloc(0, silc_hash_uint, NULL, NULL, NULL, + silc_hash_table_alloc(NULL, 0, silc_hash_uint, NULL, NULL, NULL, silc_schedule_fd_destructor, NULL, TRUE); if (!schedule->fd_queue) { silc_free(schedule);