summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Jason Riedy <ejr@cs.berkeley.edu>2005-08-23 13:52:52 -0700
committerLibravatar Jason Riedy <ejr@cs.berkeley.edu>2005-08-23 20:41:12 -0700
commitfb2af0375bcef9f5f5cbb1f4dc9f81459ce1f4b1 (patch)
tree2e6188b4d9ab00838088dc4628d9f156962858f7
parentReplace unsetenv() and setenv() with older putenv(). (diff)
downloadtgif-fb2af0375bcef9f5f5cbb1f4dc9f81459ce1f4b1.tar.xz
Replace C99 array initializers with code.
The only use of C99 array initializers is in ident.c, so just replace it with initializing code. Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu>
-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];
}