diff options
author | Bram Moolenaar <bram@vim.org> | 2012-01-10 17:13:52 +0100 |
---|---|---|
committer | Bram Moolenaar <bram@vim.org> | 2012-01-10 17:13:52 +0100 |
commit | 7b26100e6cd0c4f5ac2f2078b75a6d48bc99de2d (patch) | |
tree | 42d847416457d9d03756aaae9490ddbc1c4b143c | |
parent | db46ca7538f40fa8b8d45adf1df4a76e9c0674b1 (diff) | |
download | vim-7b26100e6cd0c4f5ac2f2078b75a6d48bc99de2d.tar.gz |
Problem: When creating more than 10 location lists and adding items one by
one a previous location may be used. (Audrius Kažukauskas)
Solution: Clear the location list completely when adding the tenth one.
-rw-r--r-- | src/quickfix.c | 5 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 3 insertions, 4 deletions
diff --git a/src/quickfix.c b/src/quickfix.c index 794c4938..26eac7be 100644 --- a/src/quickfix.c +++ b/src/quickfix.c @@ -899,8 +899,7 @@ qf_new_list(qi, qf_title) } else qi->qf_curlist = qi->qf_listcount++; - qi->qf_lists[qi->qf_curlist].qf_index = 0; - qi->qf_lists[qi->qf_curlist].qf_count = 0; + vim_memset(&qi->qf_lists[qi->qf_curlist], 0, (size_t)(sizeof(qf_list_T))); if (qf_title != NULL) { char_u *p = alloc((int)STRLEN(qf_title) + 2); @@ -909,8 +908,6 @@ qf_new_list(qi, qf_title) if (p != NULL) sprintf((char *)p, ":%s", (char *)qf_title); } - else - qi->qf_lists[qi->qf_curlist].qf_title = NULL; } /* diff --git a/src/version.c b/src/version.c index 777c15ec..e3a79e29 100644 --- a/src/version.c +++ b/src/version.c @@ -715,6 +715,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 398, +/**/ 397, /**/ 396, |