aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/yankmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/yankmap.c')
-rw-r--r--src/nvim/yankmap.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/nvim/yankmap.c b/src/nvim/yankmap.c
index d9229e015d..591bcffe33 100644
--- a/src/nvim/yankmap.c
+++ b/src/nvim/yankmap.c
@@ -6,22 +6,25 @@ void init_yankmap(yankmap_T* map)
{
memset(map, 0, sizeof(yankmap_T));
- map_init(int, ptr_t, &map->reg_to_yankreg);
- map_init(ptr_t, int, &map->yankreg_to_reg);
+ map->reg_to_yankreg = (Map(int, ptr_t))MAP_INIT;
+ map->yankreg_to_reg = (Map(ptr_t, int))MAP_INIT;
+ // map_init(int, ptr_t, &map->reg_to_yankreg);
+ // map_init(ptr_t, int, &map->yankreg_to_reg);
}
yankreg_T* yankmap_get(yankmap_T* yankmap, int reg)
{
- yankreg_T** ret =
- (yankreg_T**) map_ref(int, ptr_t)(&yankmap->reg_to_yankreg, reg, true);
+ bool is_new = false;
+ yankreg_T** ret
+ = (yankreg_T**)map_put_ref(int, ptr_t)(&yankmap->reg_to_yankreg, reg, NULL, &is_new);
if (ret) {
- if (! (*ret)) {
+ if (is_new) {
*ret = xcalloc(sizeof(yankreg_T), 1);
}
/* Add the back-reference */
- int* ref = map_ref(ptr_t, int)(&yankmap->yankreg_to_reg, *ret, true);
+ int* ref = map_put_ref(ptr_t, int)(&yankmap->yankreg_to_reg, *ret, NULL, NULL);
*ref = reg;
return *ret;
@@ -32,7 +35,7 @@ yankreg_T* yankmap_get(yankmap_T* yankmap, int reg)
int yankmap_find(yankmap_T* yankmap, yankreg_T* yankreg)
{
- int* ref = map_ref(ptr_t, int)(&yankmap->yankreg_to_reg, yankreg, false);
+ int* ref = map_ref(ptr_t, int)(&yankmap->yankreg_to_reg, yankreg, NULL);
if (ref) {
return *ref;