diff src/tag.c @ 970:c5cafb21c45b v7.0.096

updated for version 7.0-096
author vimboss
date Sun, 10 Sep 2006 11:56:59 +0000
parents 0fe7765dcb8e
children 721ebb602db0
line wrap: on
line diff
--- a/src/tag.c
+++ b/src/tag.c
@@ -3787,6 +3787,7 @@ get_tags(list, pat)
 {
     int		num_matches, i, ret;
     char_u	**matches, *p;
+    char_u	*full_fname;
     dict_T	*dict;
     tagptrs_T	tp;
     long	is_static;
@@ -3809,9 +3810,10 @@ get_tags(list, pat)
 	    if (list_append_dict(list, dict) == FAIL)
 		ret = FAIL;
 
+	    full_fname = tag_full_fname(&tp);
 	    if (add_tag_field(dict, "name", tp.tagname, tp.tagname_end) == FAIL
-		    || add_tag_field(dict, "filename", tp.fname,
-							 tp.fname_end) == FAIL
+		    || add_tag_field(dict, "filename", full_fname,
+							 NULL) == FAIL
 		    || add_tag_field(dict, "cmd", tp.command,
 						       tp.command_end) == FAIL
 		    || add_tag_field(dict, "kind", tp.tagkind,
@@ -3819,6 +3821,8 @@ get_tags(list, pat)
 		    || dict_add_nr_str(dict, "static", is_static, NULL) == FAIL)
 		ret = FAIL;
 
+	    vim_free(full_fname);
+
 	    if (tp.command_end != NULL)
 	    {
 		for (p = tp.command_end + 3;