X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=attr.h;h=eb8ca0d7c067417a8ff2802179e50bddcdff3367;hb=a12c6b0149e3dadd0701dac4fd0ba2463d251650;hp=69b5767ebc2189a8bf9d98ff88c1885ec8fcdb7d;hpb=77f143bf3e218857ec8e5244d7e862e8e0c1a041;p=git.git diff --git a/attr.h b/attr.h index 69b5767eb..eb8ca0d7c 100644 --- a/attr.h +++ b/attr.h @@ -8,7 +8,7 @@ struct git_attr; * Given a string, return the gitattribute object that * corresponds to it. */ -struct git_attr *git_attr(const char *, int); +struct git_attr *git_attr(const char *); /* Internal use */ extern const char git_attr__true[]; @@ -20,7 +20,7 @@ extern const char git_attr__false[]; #define ATTR_UNSET(v) ((v) == NULL) /* - * Send one or more git_attr_check to git_checkattr(), and + * Send one or more git_attr_check to git_check_attr(), and * each 'value' member tells what its value is. * Unset one is returned as NULL. */ @@ -29,12 +29,28 @@ struct git_attr_check { const char *value; }; -int git_checkattr(const char *path, int, 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 + * of the internal data structure; it should not be modified or freed. + */ +char *git_attr_name(struct git_attr *); + +int git_check_attr(const char *path, int, struct git_attr_check *); + +/* + * Retrieve all attributes that apply to the specified path. *num + * will be set the 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. + */ +int git_all_attrs(const char *path, int *num, struct git_attr_check **check); enum git_attr_direction { GIT_ATTR_CHECKIN, GIT_ATTR_CHECKOUT, - GIT_ATTR_INDEX, + GIT_ATTR_INDEX }; void git_attr_set_direction(enum git_attr_direction, struct index_state *);