Problem: Memory leak in test_arabic.
Solution: Free the from and to parts. (Christian Brabandt, closes #2569)
clear_string_option(&buf->b_p_isk);
#ifdef FEAT_KEYMAP
clear_string_option(&buf->b_p_keymap);
+ keymap_clear(&buf->b_kmap_ga);
ga_clear(&buf->b_kmap_ga);
#endif
#ifdef FEAT_COMMENTS
{
vim_snprintf((char *)buf, sizeof(buf), "<buffer> %s", kp[i].from);
(void)do_map(1, buf, LANGMAP, FALSE);
- vim_free(kp[i].from);
- vim_free(kp[i].to);
}
+ keymap_clear(&curbuf->b_kmap_ga);
p_cpo = save_cpo;
status_redraw_curbuf();
}
+ void
+keymap_clear(garray_T *kmap)
+{
+ int i;
+ kmap_T *kp = (kmap_T *)kmap->ga_data;
+
+ for (i = 0; i < kmap->ga_len; ++i)
+ {
+ vim_free(kp[i].from);
+ vim_free(kp[i].to);
+ }
+}
#endif /* FEAT_KEYMAP */
void listdigraphs(void);
char_u *keymap_init(void);
void ex_loadkeymap(exarg_T *eap);
+void keymap_clear(garray_T *kmap);
/* vim: set ft=c : */
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1435,
/**/
1434,
/**/