]> git.ipfire.org Git - thirdparty/git.git/blobdiff - attr.c
l10n: it.po: update the Italian translation for Git 2.24.0 round #2
[thirdparty/git.git] / attr.c
diff --git a/attr.c b/attr.c
index 9bdef61cc36f86647ff2a673f15effb8f81b4fe1..11f19b541cb930bb749b72b0f4b2791a419f109a 100644 (file)
--- a/attr.c
+++ b/attr.c
@@ -62,7 +62,7 @@ static struct attr_hashmap g_attr_hashmap;
 
 /* The container for objects stored in "struct attr_hashmap" */
 struct attr_hash_entry {
-       struct hashmap_entry ent; /* must be the first member! */
+       struct hashmap_entry ent;
        const char *key; /* the key; memory should be owned by value */
        size_t keylen; /* length of the key */
        void *value; /* the stored value */
@@ -70,12 +70,14 @@ struct attr_hash_entry {
 
 /* attr_hashmap comparison function */
 static int attr_hash_entry_cmp(const void *unused_cmp_data,
-                              const void *entry,
-                              const void *entry_or_key,
+                              const struct hashmap_entry *eptr,
+                              const struct hashmap_entry *entry_or_key,
                               const void *unused_keydata)
 {
-       const struct attr_hash_entry *a = entry;
-       const struct attr_hash_entry *b = entry_or_key;
+       const struct attr_hash_entry *a, *b;
+
+       a = container_of(eptr, const struct attr_hash_entry, ent);
+       b = container_of(entry_or_key, const struct attr_hash_entry, ent);
        return (a->keylen != b->keylen) || strncmp(a->key, b->key, a->keylen);
 }
 
@@ -101,7 +103,7 @@ static void *attr_hashmap_get(struct attr_hashmap *map,
        hashmap_entry_init(&k.ent, memhash(key, keylen));
        k.key = key;
        k.keylen = keylen;
-       e = hashmap_get(&map->map, &k.ent, NULL);
+       e = hashmap_get_entry(&map->map, &k, ent, NULL);
 
        return e ? e->value : NULL;
 }
@@ -161,12 +163,12 @@ static void all_attrs_init(struct attr_hashmap *map, struct attr_check *check)
        if (size != check->all_attrs_nr) {
                struct attr_hash_entry *e;
                struct hashmap_iter iter;
-               hashmap_iter_init(&map->map, &iter);
 
                REALLOC_ARRAY(check->all_attrs, size);
                check->all_attrs_nr = size;
 
-               while ((e = hashmap_iter_next(&iter))) {
+               hashmap_for_each_entry(&map->map, &iter, e,
+                                       ent /* member name */) {
                        const struct git_attr *a = e->value;
                        check->all_attrs[a->attr_nr].attr = a;
                }
@@ -259,7 +261,7 @@ struct pattern {
        const char *pattern;
        int patternlen;
        int nowildcardlen;
-       unsigned flags;         /* EXC_FLAG_* */
+       unsigned flags;         /* PATTERN_FLAG_* */
 };
 
 /*
@@ -400,11 +402,11 @@ static struct match_attr *parse_attr_line(const char *line, const char *src,
                char *p = (char *)&(res->state[num_attr]);
                memcpy(p, name, namelen);
                res->u.pat.pattern = p;
-               parse_exclude_pattern(&res->u.pat.pattern,
+               parse_path_pattern(&res->u.pat.pattern,
                                      &res->u.pat.patternlen,
                                      &res->u.pat.flags,
                                      &res->u.pat.nowildcardlen);
-               if (res->u.pat.flags & EXC_FLAG_NEGATIVE) {
+               if (res->u.pat.flags & PATTERN_FLAG_NEGATIVE) {
                        warning(_("Negative patterns are ignored in git attributes\n"
                                  "Use '\\!' for literal leading exclamation."));
                        goto fail_return;
@@ -991,10 +993,10 @@ static int path_matches(const char *pathname, int pathlen,
        int prefix = pat->nowildcardlen;
        int isdir = (pathlen && pathname[pathlen - 1] == '/');
 
-       if ((pat->flags & EXC_FLAG_MUSTBEDIR) && !isdir)
+       if ((pat->flags & PATTERN_FLAG_MUSTBEDIR) && !isdir)
                return 0;
 
-       if (pat->flags & EXC_FLAG_NODIR) {
+       if (pat->flags & PATTERN_FLAG_NODIR) {
                return match_basename(pathname + basename_offset,
                                      pathlen - basename_offset - isdir,
                                      pattern, prefix,