ucx/map.c

changeset 173
31a8682fffb7
parent 147
1aa598f36872
child 177
11ad03783baf
     1.1 --- a/ucx/map.c	Mon Jun 02 16:04:11 2014 +0200
     1.2 +++ b/ucx/map.c	Tue Jun 10 15:43:13 2014 +0200
     1.3 @@ -44,18 +44,16 @@
     1.4          allocator = ucx_default_allocator();
     1.5      }
     1.6      
     1.7 -    UcxMap *map = (UcxMap*)allocator->malloc(allocator->pool, sizeof(UcxMap));
     1.8 +    UcxMap *map = (UcxMap*)almalloc(allocator, sizeof(UcxMap));
     1.9      if (!map) {
    1.10          return NULL;
    1.11      }
    1.12      
    1.13      map->allocator = allocator;
    1.14 -    map->map = (UcxMapElement**)allocator->calloc(
    1.15 -            allocator->pool,
    1.16 -            size,
    1.17 -            sizeof(UcxMapElement*));
    1.18 +    map->map = (UcxMapElement**)alcalloc(
    1.19 +            allocator, size, sizeof(UcxMapElement*));
    1.20      if(map->map == NULL) {
    1.21 -        allocator->free(allocator->pool, map);
    1.22 +        alfree(allocator, map);
    1.23          return NULL;
    1.24      }
    1.25      map->size = size;
    1.26 @@ -70,18 +68,18 @@
    1.27          if (elem != NULL) {
    1.28              do {
    1.29                  UcxMapElement *next = elem->next;
    1.30 -                map->allocator->free(map->allocator->pool, elem->key.data);
    1.31 -                map->allocator->free(map->allocator->pool, elem);
    1.32 +                alfree(map->allocator, elem->key.data);
    1.33 +                alfree(map->allocator, elem);
    1.34                  elem = next;
    1.35              } while (elem != NULL);
    1.36          }
    1.37      }
    1.38 -    map->allocator->free(map->allocator->pool, map->map);
    1.39 +    alfree(map->allocator, map->map);
    1.40  }
    1.41  
    1.42  void ucx_map_free(UcxMap *map) {
    1.43      ucx_map_free_elmlist(map);
    1.44 -    map->allocator->free(map->allocator->pool, map);
    1.45 +    alfree(map->allocator, map);
    1.46  }
    1.47  
    1.48  int ucx_map_copy(UcxMap *restrict from, UcxMap *restrict to,
    1.49 @@ -116,10 +114,8 @@
    1.50          oldmap.allocator = map->allocator;
    1.51          
    1.52          map->size = (map->count * 5) >> 1;
    1.53 -        map->map = (UcxMapElement**)map->allocator->calloc(
    1.54 -                map->allocator->pool,
    1.55 -                map->size,
    1.56 -                sizeof(UcxMapElement*));
    1.57 +        map->map = (UcxMapElement**)alcalloc(
    1.58 +                map->allocator, map->size, sizeof(UcxMapElement*));
    1.59          if (!map->map) {
    1.60              *map = oldmap;
    1.61              return 1;
    1.62 @@ -150,9 +146,8 @@
    1.63      }
    1.64      
    1.65      if (!elm || elm->key.hash != key.hash) {
    1.66 -        UcxMapElement *e = (UcxMapElement*)allocator->malloc(
    1.67 -                allocator->pool,
    1.68 -                sizeof(UcxMapElement));
    1.69 +        UcxMapElement *e = (UcxMapElement*)almalloc(
    1.70 +                allocator, sizeof(UcxMapElement));
    1.71          if (!e) {
    1.72              return -1;
    1.73          }
    1.74 @@ -167,7 +162,7 @@
    1.75      }
    1.76      
    1.77      if (!elm->key.data) {
    1.78 -        void *kd = allocator->malloc(allocator->pool, key.len);
    1.79 +        void *kd = almalloc(allocator, key.len);
    1.80          if (!kd) {
    1.81              return -1;
    1.82          }
    1.83 @@ -200,8 +195,8 @@
    1.84                      } else {
    1.85                          map->map[slot] = elm->next;
    1.86                      }
    1.87 -                    map->allocator->free(map->allocator->pool, elm->key.data);
    1.88 -                    map->allocator->free(map->allocator->pool, elm);
    1.89 +                    alfree(map->allocator, elm->key.data);
    1.90 +                    alfree(map->allocator, elm);
    1.91                      map->count--;
    1.92                  }
    1.93  

mercurial