X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=lib%2Fsilcclient%2Fclient_attrs.c;h=fc0821da6ee1268690ec88e29f023ca95909f932;hp=65a8b03e9e86c26a61796f892aac2507032d8f1f;hb=c257b555225193e54d85daf541d29578b3c93882;hpb=f658940d02cf2fd893296b6a7825b42502573668 diff --git a/lib/silcclient/client_attrs.c b/lib/silcclient/client_attrs.c index 65a8b03e..fc0821da 100644 --- a/lib/silcclient/client_attrs.c +++ b/lib/silcclient/client_attrs.c @@ -1,10 +1,10 @@ /* - client_attrs.c + client_attrs.c Author: Pekka Riikonen - Copyright (C) 2002 Pekka Riikonen + Copyright (C) 2002 - 2004 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 @@ -31,7 +31,7 @@ typedef struct { static void silc_client_attributes_process_foreach(void *key, void *context, void *user_context) { - SilcAttribute attribute = (SilcAttribute)(SilcUInt32)key; + SilcAttribute attribute = (SilcAttribute)SILC_PTR_TO_32(key); SilcAttributePayload attr = context; SilcAttrForeach *f = user_context; const unsigned char *data; @@ -54,6 +54,7 @@ static void silc_client_attributes_process_foreach(void *key, void *context, SILC_LOG_DEBUG(("Attribute %d found", attribute)); data = silc_attribute_get_data(attr, &data_len); +#if 0 /* We replace the TIMEZONE with valid value here */ if (attribute == SILC_ATTRIBUTE_TIMEZONE) { data = (const unsigned char *)silc_get_time(0); @@ -63,6 +64,7 @@ static void silc_client_attributes_process_foreach(void *key, void *context, (void *)data, data_len); return; } +#endif f->buffer = silc_attribute_payload_encode_data(f->buffer, attribute, SILC_ATTRIBUTE_FLAG_VALID, @@ -113,7 +115,7 @@ SilcBuffer silc_client_attributes_process(SilcClient client, continue; silc_hash_table_find_foreach(conn->internal->attrs, - (void *)(SilcUInt32)attribute, + SILC_32_TO_PTR(attribute), silc_client_attributes_process_foreach, &f); } @@ -163,7 +165,7 @@ SilcAttributePayload silc_client_attribute_add(SilcClient client, NULL, silc_client_attribute_destruct, NULL, TRUE); silc_hash_table_add(conn->internal->attrs, - (void *)(SilcUInt32)attribute, attr); + SILC_32_TO_PTR(attribute), attr); return attr; } @@ -177,7 +179,7 @@ static void silc_client_attribute_del_foreach(void *key, void *context, return; attribute = silc_attribute_get_attribute(attr); silc_hash_table_del_by_context(conn->internal->attrs, - (void *)(SilcUInt32)attribute, attr); + SILC_32_TO_PTR(attribute), attr); } /* Delete one attribute */ @@ -195,10 +197,10 @@ bool silc_client_attribute_del(SilcClient client, if (attr) { attribute = silc_attribute_get_attribute(attr); ret = silc_hash_table_del_by_context(conn->internal->attrs, - (void *)(SilcUInt32)attribute, attr); + SILC_32_TO_PTR(attribute), attr); } else if (attribute) { silc_hash_table_find_foreach(conn->internal->attrs, - (void *)(SilcUInt32)attribute, + SILC_32_TO_PTR(attribute), silc_client_attribute_del_foreach, conn); ret = TRUE; } else{