diff options
Diffstat (limited to 'attr.h')
-rw-r--r-- | attr.h | 16 |
1 files changed, 10 insertions, 6 deletions
@@ -30,6 +30,7 @@ struct git_attr_check_elem { }; struct git_attr_check { + int finalized; int check_nr; int check_alloc; struct git_attr_check_elem *check; @@ -38,6 +39,12 @@ struct git_attr_check { extern struct git_attr_check *git_attr_check_initl(const char *, ...); extern int git_check_attr(const char *path, struct git_attr_check *); +extern struct git_attr_check *git_attr_check_alloc(void); +extern struct git_attr_check_elem *git_attr_check_append(struct git_attr_check *, const struct git_attr *); + +extern void git_attr_check_clear(struct git_attr_check *); +extern void git_attr_check_free(struct git_attr_check *); + /* * Return the name of the attribute represented by the argument. The * return value is a pointer to a null-delimited string that is part @@ -48,13 +55,10 @@ extern const char *git_attr_name(const struct git_attr *); int git_check_attrs(const char *path, int, struct git_attr_check_elem *); /* - * Retrieve all attributes that apply to the specified path. *num - * will be set to the number of attributes on the path; **check will - * be set to point at a newly-allocated array of git_attr_check - * objects describing the attributes and their values. *check must be - * free()ed by the caller. + * Retrieve all attributes that apply to the specified path. + * check holds the attributes and their values. */ -int git_all_attrs(const char *path, int *num, struct git_attr_check_elem **check); +void git_all_attrs(const char *path, struct git_attr_check *check); enum git_attr_direction { GIT_ATTR_CHECKIN, |