diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2023-11-29 21:52:58 +0000 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2023-11-29 21:52:58 +0000 |
commit | 931bffbda3668ddc609fc1da8f9eb576b170aa52 (patch) | |
tree | d8c1843a95da5ea0bb4acc09f7e37843d9995c86 /src/nvim/yankmap.c | |
parent | 142d9041391780ac15b89886a54015fdc5c73995 (diff) | |
parent | 4a8bf24ac690004aedf5540fa440e788459e5e34 (diff) | |
download | rneovim-userreg.tar.gz rneovim-userreg.tar.bz2 rneovim-userreg.zip |
Merge remote-tracking branch 'upstream/master' into userreguserreg
Diffstat (limited to 'src/nvim/yankmap.c')
-rw-r--r-- | src/nvim/yankmap.c | 17 |
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; |