attr: tighten const correctness with git_attr and match_attr
[gitweb.git] / attr.c
diff --git a/attr.c b/attr.c
index 8f4402ef334a485b34f5e80fbeba6af180763b5f..69643ae77d91b2b5a7a5092f04d71e52481a9b4f 100644 (file)
--- a/attr.c
+++ b/attr.c
@@ -220,7 +220,7 @@ static void report_invalid_attr(const char *name, size_t len,
  * dictionary.  If no entry is found, create a new attribute and store it in
  * the dictionary.
  */
-static struct git_attr *git_attr_internal(const char *name, int namelen)
+static const struct git_attr *git_attr_internal(const char *name, int namelen)
 {
        struct git_attr *a;
 
@@ -244,14 +244,14 @@ static struct git_attr *git_attr_internal(const char *name, int namelen)
        return a;
 }
 
-struct git_attr *git_attr(const char *name)
+const struct git_attr *git_attr(const char *name)
 {
        return git_attr_internal(name, strlen(name));
 }
 
 /* What does a matched pattern decide? */
 struct attr_state {
-       struct git_attr *attr;
+       const struct git_attr *attr;
        const char *setto;
 };
 
@@ -278,7 +278,7 @@ struct pattern {
 struct match_attr {
        union {
                struct pattern pat;
-               struct git_attr *attr;
+               const struct git_attr *attr;
        } u;
        char is_macro;
        unsigned num_attr;
@@ -898,7 +898,7 @@ static int fill_one(const char *what, struct all_attrs_item *all_attrs,
        int i;
 
        for (i = a->num_attr - 1; rem > 0 && i >= 0; i--) {
-               struct git_attr *attr = a->state[i].attr;
+               const struct git_attr *attr = a->state[i].attr;
                const char **n = &(all_attrs[attr->attr_nr].value);
                const char *v = a->state[i].setto;
 
@@ -922,7 +922,7 @@ static int fill(const char *path, int pathlen, int basename_offset,
        const char *base = stk->origin ? stk->origin : "";
 
        for (i = stk->num_matches - 1; 0 < rem && 0 <= i; i--) {
-               struct match_attr *a = stk->attrs[i];
+               const struct match_attr *a = stk->attrs[i];
                if (a->is_macro)
                        continue;
                if (path_matches(path, pathlen, basename_offset,