aboutsummaryrefslogtreecommitdiff
path: root/ident.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-08-28 23:02:01 -0700
committerJunio C Hamano <junkio@cox.net>2005-08-28 23:02:01 -0700
commit10d781b9caa4f71495c7b34963bef137216f86a8 (patch)
treeeec73f3aec2ea1255bb3e131bd54e0a04e64d0f2 /ident.c
parent928f74de22536129b696218073a3940ae4ab1199 (diff)
parentfb2af0375bcef9f5f5cbb1f4dc9f81459ce1f4b1 (diff)
downloadgit-10d781b9caa4f71495c7b34963bef137216f86a8.tar.gz
git-10d781b9caa4f71495c7b34963bef137216f86a8.tar.xz
Merge refs/heads/portable from http://www.cs.berkeley.edu/~ejr/gits/git.git
Diffstat (limited to 'ident.c')
-rw-r--r--ident.c26
1 files changed, 18 insertions, 8 deletions
diff --git a/ident.c b/ident.c
index 9ef636ee8..0fe81f690 100644
--- a/ident.c
+++ b/ident.c
@@ -58,14 +58,24 @@ static int add_raw(char *buf, int size, int offset, const char *str)
static int crud(unsigned char c)
{
- static const char crud_array[256] = {
- [0 ... 31] = 1,
- [' '] = 1,
- ['.'] = 1, [','] = 1,
- [':'] = 1, [';'] = 1,
- ['<'] = 1, ['>'] = 1,
- ['"'] = 1, ['\''] = 1,
- };
+ static char crud_array[256];
+ static int crud_array_initialized = 0;
+
+ if (!crud_array_initialized) {
+ int k;
+
+ for (k = 0; k <= 31; ++k) crud_array[k] = 1;
+ crud_array[' '] = 1;
+ crud_array['.'] = 1;
+ crud_array[','] = 1;
+ crud_array[':'] = 1;
+ crud_array[';'] = 1;
+ crud_array['<'] = 1;
+ crud_array['>'] = 1;
+ crud_array['"'] = 1;
+ crud_array['\''] = 1;
+ crud_array_initialized = 1;
+ }
return crud_array[c];
}