diff options
Diffstat (limited to 'pjlib/src/pj')
-rw-r--r-- | pjlib/src/pj/hash.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/pjlib/src/pj/hash.c b/pjlib/src/pj/hash.c index 1f86317b..10ad9d97 100644 --- a/pjlib/src/pj/hash.c +++ b/pjlib/src/pj/hash.c @@ -75,10 +75,21 @@ PJ_DEF(pj_uint32_t) pj_hash_calc_tolower( pj_uint32_t hval, { long i; +#if defined(PJ_HASH_USE_OWN_TOLOWER) && PJ_HASH_USE_OWN_TOLOWER != 0 + for (i=0; i<key->slen; ++i) { + pj_uint8_t c = key->ptr[i]; + if (c & 64) + result[i] = (char)(c | 32); + else + result[i] = (char)c; + hval = hval * PJ_HASH_MULTIPLIER + result[i]; + } +#else for (i=0; i<key->slen; ++i) { result[i] = (char)pj_tolower(key->ptr[i]); hval = hval * PJ_HASH_MULTIPLIER + result[i]; } +#endif return hval; } |