- (int)ELFhashValue:(NSString *)key {
if (!key)
return -1;
unsigned long h = 0;
unsigned long g;
unsigned long word;
for (int i = 0; i < [key length]; i ++) {
word = [key characterAtIndex:i];
h =( h<< 4) + word;
g = h & 0xf0000000L;
if( g ) h ^= g >> 24;
h &= ~g;
}
return h;
}