diff options
author | Brandon Williams <bmwill@google.com> | 2017-01-28 03:02:02 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-02-01 22:46:53 +0100 |
commit | 685b2925757e98624e37abe09d49c205a7db5943 (patch) | |
tree | 150d0c50e6b20402baefd7a8442fa1a13851b780 /attr.h | |
parent | attr: use hashmap for attribute dictionary (diff) | |
download | git-685b2925757e98624e37abe09d49c205a7db5943.tar.xz git-685b2925757e98624e37abe09d49c205a7db5943.zip |
attr: eliminate global check_all_attr array
Currently there is a reliance on 'check_all_attr' which is a global
array of 'attr_check_item' items which is used to store the value of
each attribute during the collection process.
This patch eliminates this global and instead creates an array per
'attr_check' instance which is then used in the attribute collection
process. This brings the attribute system one step closer to being
thread-safe.
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'attr.h')
-rw-r--r-- | attr.h | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -4,6 +4,9 @@ /* An attribute is a pointer to this opaque structure */ struct git_attr; +/* opaque structure used internally for attribute collection */ +struct all_attrs_item; + /* * Given a string, return the gitattribute object that * corresponds to it. @@ -33,6 +36,8 @@ struct attr_check { int nr; int alloc; struct attr_check_item *items; + int all_attrs_nr; + struct all_attrs_item *all_attrs; }; extern struct attr_check *attr_check_alloc(void); |