X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fcore%2Fgnunet-service-core_typemap.c;h=0600f59ef937af81afb905438ae8d222961a5767;hb=17f5db6f7c8d60930367738b3d872fbf891486ee;hp=e12e3863aaaed63f88a0b5b2a53e6c29eed8ab09;hpb=c2d9d1e64c9801122caaa6b429fc67706db5c9d7;p=oweals%2Fgnunet.git diff --git a/src/core/gnunet-service-core_typemap.c b/src/core/gnunet-service-core_typemap.c index e12e3863a..0600f59ef 100644 --- a/src/core/gnunet-service-core_typemap.c +++ b/src/core/gnunet-service-core_typemap.c @@ -1,6 +1,6 @@ /* This file is part of GNUnet. - Copyright (C) 2011-2014 Christian Grothoff (and other contributing authors) + Copyright (C) 2011-2014 GNUnet e.V. GNUnet is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -14,8 +14,8 @@ You should have received a copy of the GNU General Public License along with GNUnet; see the file COPYING. If not, write to the - Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ /** @@ -136,7 +136,7 @@ GSC_TYPEMAP_compute_type_map_message () { /* compression failed, use uncompressed map */ dlen = sizeof (my_type_map); - memcpy (tmp, &my_type_map, sizeof (my_type_map)); + GNUNET_memcpy (tmp, &my_type_map, sizeof (my_type_map)); hdr->type = htons (GNUNET_MESSAGE_TYPE_CORE_BINARY_TYPE_MAP); } else @@ -174,11 +174,13 @@ GSC_TYPEMAP_get_from_message (const struct GNUNET_MessageHeader *msg) return NULL; } ret = GNUNET_new (struct GSC_TypeMap); - memcpy (ret, &msg[1], sizeof (struct GSC_TypeMap)); + GNUNET_memcpy (ret, &msg[1], sizeof (struct GSC_TypeMap)); return ret; case GNUNET_MESSAGE_TYPE_CORE_COMPRESSED_TYPE_MAP: - GNUNET_STATISTICS_update (GSC_stats, gettext_noop ("# type maps received"), - 1, GNUNET_NO); + GNUNET_STATISTICS_update (GSC_stats, + gettext_noop ("# type maps received"), + 1, + GNUNET_NO); ret = GNUNET_new (struct GSC_TypeMap); dlen = sizeof (struct GSC_TypeMap); if ((Z_OK != @@ -207,7 +209,8 @@ broadcast_my_type_map () hdr = GSC_TYPEMAP_compute_type_map_message (); GNUNET_STATISTICS_update (GSC_stats, - gettext_noop ("# updates to my type map"), 1, + gettext_noop ("# updates to my type map"), + 1, GNUNET_NO); GSC_SESSIONS_broadcast_typemap (hdr); GNUNET_free (hdr); @@ -238,6 +241,8 @@ GSC_TYPEMAP_add (const uint16_t *types, } if (GNUNET_YES == changed) { + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Typemap changed, broadcasting!\n"); rehash_typemap (); broadcast_my_type_map (); } @@ -254,11 +259,10 @@ void GSC_TYPEMAP_remove (const uint16_t *types, unsigned int tlen) { - unsigned int i; int changed; changed = GNUNET_NO; - for (i = 0; i < tlen; i++) + for (unsigned int i = 0; i < tlen; i++) { if (0 == --map_counters[types[i]]) { @@ -288,13 +292,11 @@ GSC_TYPEMAP_test_match (const struct GSC_TypeMap *tmap, const uint16_t *types, unsigned int tcnt) { - unsigned int i; - if (NULL == tmap) return GNUNET_NO; if (0 == tcnt) return GNUNET_YES; /* matches all */ - for (i = 0; i < tcnt; i++) + for (unsigned int i = 0; i < tcnt; i++) if (0 != (tmap->bits[types[i] / 32] & (1 << (types[i] % 32)))) return GNUNET_YES; return GNUNET_NO; @@ -315,12 +317,11 @@ GSC_TYPEMAP_extend (const struct GSC_TypeMap *tmap, unsigned int tcnt) { struct GSC_TypeMap *ret; - unsigned int i; ret = GNUNET_new (struct GSC_TypeMap); if (NULL != tmap) - memcpy (ret, tmap, sizeof (struct GSC_TypeMap)); - for (i = 0; i < tcnt; i++) + GNUNET_memcpy (ret, tmap, sizeof (struct GSC_TypeMap)); + for (unsigned int i = 0; i < tcnt; i++) ret->bits[types[i] / 32] |= (1 << (types[i] % 32)); return ret; }