diff options
author | Junio C Hamano <junkio@cox.net> | 2007-04-18 16:16:37 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2007-04-18 16:17:13 -0700 |
commit | a5e92abde61d59a8612c5b87d0bae681e90f7fdb (patch) | |
tree | e53fefb050e87cb63d06d016ffec73e2a67f2bf2 /diff.c | |
parent | 3086486d326b00ce308208e62e0e0de831f3563b (diff) | |
download | git-a5e92abde61d59a8612c5b87d0bae681e90f7fdb.tar.gz git-a5e92abde61d59a8612c5b87d0bae681e90f7fdb.tar.xz |
Fix funny types used in attribute value representation
It was bothering me a lot that I abused small integer values
casted to (void *) to represent non string values in
gitattributes. This corrects it by making the type of attribute
values (const char *), and using the address of a few statically
allocated character buffer to denote true/false. Unset attributes
are represented as having NULLs as their values.
Added in-header documentation to explain how git_checkattr()
routine should be called.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'diff.c')
-rw-r--r-- | diff.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1069,7 +1069,7 @@ static int file_is_binary(struct diff_filespec *one) setup_diff_attr_check(&attr_diff_check); if (!git_checkattr(one->path, 1, &attr_diff_check)) { - void *value = attr_diff_check.value; + const char *value = attr_diff_check.value; if (ATTR_TRUE(value)) return 0; else if (ATTR_FALSE(value)) @@ -1078,7 +1078,7 @@ static int file_is_binary(struct diff_filespec *one) ; else die("unknown value %s given to 'diff' attribute", - (char *)value); + value); } if (!one->data) { |