summaryrefslogtreecommitdiff
path: root/git-compat-util.h
diff options
context:
space:
mode:
authorBrandon Casey <casey@nrlssc.navy.mil>2008-08-28 17:47:22 -0500
committerJunio C Hamano <gitster@pobox.com>2008-08-28 21:49:51 -0700
commit63e8aea74e992bd8667e35a0e646110acc1f0d7c (patch)
tree58acf6bbde6c04d76920403349c60c5609306872 /git-compat-util.h
parent1b0f7978ddb9e2ed4437ce68a4b82ab831288a41 (diff)
downloadgit-63e8aea74e992bd8667e35a0e646110acc1f0d7c.tar.gz
dir.c: Avoid c99 array initialization
The following syntax: char foo[] = { [0] = 1, [7] = 2, [15] = 3 }; is a c99 construct which some compilers do not support even though they support other c99 constructs. This construct can be avoided by folding these 'special' test cases into the sane_ctype array and making use of the related infrastructure. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-compat-util.h')
-rw-r--r--git-compat-util.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/git-compat-util.h b/git-compat-util.h
index 6ee325546e..db2836fbde 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -329,11 +329,13 @@ extern unsigned char sane_ctype[256];
#define GIT_SPACE 0x01
#define GIT_DIGIT 0x02
#define GIT_ALPHA 0x04
+#define GIT_SPECIAL 0x08
#define sane_istest(x,mask) ((sane_ctype[(unsigned char)(x)] & (mask)) != 0)
#define isspace(x) sane_istest(x,GIT_SPACE)
#define isdigit(x) sane_istest(x,GIT_DIGIT)
#define isalpha(x) sane_istest(x,GIT_ALPHA)
#define isalnum(x) sane_istest(x,GIT_ALPHA | GIT_DIGIT)
+#define isspecial(x) sane_istest(x,GIT_SPECIAL)
#define tolower(x) sane_case((unsigned char)(x), 0x20)
#define toupper(x) sane_case((unsigned char)(x), 0)