* path.cc (hash_path_name): Improve hash function strength.
This commit is contained in:
parent
6396bad848
commit
d055ecb08f
|
@ -1,3 +1,7 @@
|
|||
2002-04-30 Eric Blake <ebb9@email.byu.edu>
|
||||
|
||||
* path.cc (hash_path_name): Improve hash function strength.
|
||||
|
||||
2002-05-02 Robert Collins <rbtcollins@hotmail.com>
|
||||
|
||||
* thread.cc (__pthread_cond_dowait): Fix a race on signalling from a
|
||||
|
|
|
@ -3182,7 +3182,7 @@ hash_path_name (unsigned long hash, const char *name)
|
|||
hash = cygheap->cwd.get_hash ();
|
||||
if (name[0] == '.' && name[1] == '\0')
|
||||
return hash;
|
||||
hash += hash_path_name (hash, "\\");
|
||||
hash = (hash << 5) - hash + '\\';
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3192,8 +3192,7 @@ hashit:
|
|||
do
|
||||
{
|
||||
int ch = cyg_tolower(*name);
|
||||
hash += ch + (ch << 17);
|
||||
hash ^= hash >> 2;
|
||||
hash = (hash << 5) - hash + ch;
|
||||
}
|
||||
while (*++name != '\0' &&
|
||||
!(*name == '\\' && (!name[1] || (name[1] == '.' && !name[2]))));
|
||||
|
|
Loading…
Reference in New Issue