diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2014-08-19 23:49:25 -0400 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2014-08-19 23:49:25 -0400 |
commit | e1c330a486c184152cb48d637c6d04caba5290bd (patch) | |
tree | b2379cae30ea446456681d1dc62d80ef95345f69 /src/nvim/memfile.c | |
parent | 0b7bff5bb71ddc2e9c41863ec41b9aea74d0fe75 (diff) | |
parent | 888a31ba454cf9c054527a26459c112593efa54b (diff) | |
download | rneovim-e1c330a486c184152cb48d637c6d04caba5290bd.tar.gz rneovim-e1c330a486c184152cb48d637c6d04caba5290bd.tar.bz2 rneovim-e1c330a486c184152cb48d637c6d04caba5290bd.zip |
Merge pull request #1024 from war1025/dev/for_all_buffers
Add FOR_ALL_BUFFERS helper
Diffstat (limited to 'src/nvim/memfile.c')
-rw-r--r-- | src/nvim/memfile.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/nvim/memfile.c b/src/nvim/memfile.c index 6e8d8f9972..82369b739a 100644 --- a/src/nvim/memfile.c +++ b/src/nvim/memfile.c @@ -613,7 +613,6 @@ static bhdr_T *mf_release(memfile_T *mfp, int page_count) { bhdr_T *hp; int need_release; - buf_T *buf; /* don't release while in mf_close_file() */ if (mf_dont_release) @@ -632,11 +631,16 @@ static bhdr_T *mf_release(memfile_T *mfp, int page_count) */ if (mfp->mf_fd < 0 && need_release && p_uc) { /* find for which buffer this memfile is */ - for (buf = firstbuf; buf != NULL; buf = buf->b_next) - if (buf->b_ml.ml_mfp == mfp) + buf_T *buf = NULL; + FOR_ALL_BUFFERS(bp) { + if (bp->b_ml.ml_mfp == mfp) { + buf = bp; break; - if (buf != NULL && buf->b_may_swap) + } + } + if (buf != NULL && buf->b_may_swap) { ml_open_file(buf); + } } /* @@ -686,12 +690,11 @@ static bhdr_T *mf_release(memfile_T *mfp, int page_count) */ int mf_release_all(void) { - buf_T *buf; memfile_T *mfp; bhdr_T *hp; int retval = FALSE; - for (buf = firstbuf; buf != NULL; buf = buf->b_next) { + FOR_ALL_BUFFERS(buf) { mfp = buf->b_ml.ml_mfp; if (mfp != NULL) { /* If no swap file yet, may open one */ |