diff options
author | Thiago de Arruda <tpadilha84@gmail.com> | 2014-05-23 18:10:52 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2014-05-23 18:10:52 -0300 |
commit | 9e95c8aa331e3872253e7a06be32103b440bc97f (patch) | |
tree | d25a81cd37939466e5b9c8b33b3566f9aefbdf49 /src/nvim/api/tabpage.c | |
parent | f1e52c496ddb89f830cdbc4f23d756131106b97f (diff) | |
parent | 6c96e42e2c18bd6ae685b5a41c69b03954aa0375 (diff) | |
download | rneovim-9e95c8aa331e3872253e7a06be32103b440bc97f.tar.gz rneovim-9e95c8aa331e3872253e7a06be32103b440bc97f.tar.bz2 rneovim-9e95c8aa331e3872253e7a06be32103b440bc97f.zip |
Merge branch 'use-uids-for-api-remote-objects'
Diffstat (limited to 'src/nvim/api/tabpage.c')
-rw-r--r-- | src/nvim/api/tabpage.c | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/src/nvim/api/tabpage.c b/src/nvim/api/tabpage.c index fc50723ba5..b7243c68a8 100644 --- a/src/nvim/api/tabpage.c +++ b/src/nvim/api/tabpage.c @@ -4,12 +4,13 @@ #include "nvim/api/tabpage.h" #include "nvim/api/vim.h" -#include "nvim/api/defs.h" -#include "nvim/api/helpers.h" +#include "nvim/api/private/defs.h" +#include "nvim/api/private/helpers.h" +#include "nvim/memory.h" -Integer tabpage_get_window_count(Tabpage tabpage, Error *err) +WindowArray tabpage_get_windows(Tabpage tabpage, Error *err) { - Integer rv = 0; + WindowArray rv = ARRAY_DICT_INIT; tabpage_T *tab = find_tab(tabpage, err); if (!tab) { @@ -23,7 +24,17 @@ Integer tabpage_get_window_count(Tabpage tabpage, Error *err) if (tp != tab) { break; } - rv++; + rv.size++; + } + + rv.items = xmalloc(sizeof(Window) * rv.size); + size_t i = 0; + + FOR_ALL_TAB_WINDOWS(tp, wp) { + if (tp != tab) { + break; + } + rv.items[i++] = wp->handle; } return rv; @@ -67,13 +78,11 @@ Window tabpage_get_window(Tabpage tabpage, Error *err) } else { tabpage_T *tp; win_T *wp; - rv = 1; FOR_ALL_TAB_WINDOWS(tp, wp) { if (tp == tab && wp == tab->tp_curwin) { - return rv; + return wp->handle; } - rv++; } // There should always be a current window for a tabpage abort(); |