summaryrefslogtreecommitdiff
path: root/ident.c
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <junkio@cox.net>2005-08-28 23:03:23 -0700
committerLibravatar Junio C Hamano <junkio@cox.net>2005-08-28 23:03:23 -0700
commit8c1f5f0f1f9c36ef5465512753efeff36758ba7d (patch)
treee27706307f48a9e5192f0b6bb873ecadf41dbed5 /ident.c
parentMerge refs/heads/master from . (diff)
parentMerge refs/heads/portable from http://www.cs.berkeley.edu/~ejr/gits/git.git (diff)
downloadtgif-8c1f5f0f1f9c36ef5465512753efeff36758ba7d.tar.xz
Merge refs/heads/master from .
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 9ef636ee87..0fe81f6900 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];
}