submodule: teach rm to remove submodules unless they contain a git directory
[gitweb.git] / attr.c
diff --git a/attr.c b/attr.c
index 96eda0ef078f998c020666f89eea29ac4b1bfb53..b52efb55a036be10618d531d66697d7f7220c524 100644 (file)
--- a/attr.c
+++ b/attr.c
@@ -301,6 +301,7 @@ static void free_attr_elem(struct attr_stack *e)
                }
                free(a);
        }
+       free(e->attrs);
        free(e);
 }
 
@@ -496,6 +497,7 @@ static int git_attr_system(void)
 static void bootstrap_attr_stack(void)
 {
        struct attr_stack *elem;
+       char *xdg_attributes_file;
 
        if (attr_stack)
                return;
@@ -514,6 +516,10 @@ static void bootstrap_attr_stack(void)
                }
        }
 
+       if (!git_attributes_file) {
+               home_config_paths(NULL, &xdg_attributes_file, "attributes");
+               git_attributes_file = xdg_attributes_file;
+       }
        if (git_attributes_file) {
                elem = read_attr_from_file(git_attributes_file, 1);
                if (elem) {