Showing
1 changed file
with
5 additions
and
9 deletions
| @@ -33,21 +33,17 @@ inline | @@ -33,21 +33,17 @@ inline | ||
| 33 | int | 33 | int |
| 34 | comp(const void * _a, const void * _b) | 34 | comp(const void * _a, const void * _b) |
| 35 | { | 35 | { |
| 36 | - HttpHeader a = (HttpHeader)_a; | ||
| 37 | - HttpHeader b = (HttpHeader)_b; | ||
| 38 | - return (a->hash < b->hash)? -1 : (a->hash > b->hash)? 1 : 0; | 36 | + const unsigned long * a = _a; |
| 37 | + HttpHeader b = (HttpHeader)_b; | ||
| 38 | + return (*a < b->hash)? -1 : (*a > b->hash)? 1 : 0; | ||
| 39 | } | 39 | } |
| 40 | 40 | ||
| 41 | HttpHeader | 41 | HttpHeader |
| 42 | httpHeaderGet(const HttpHeader * root, const char * name, size_t nname) | 42 | httpHeaderGet(const HttpHeader * root, const char * name, size_t nname) |
| 43 | { | 43 | { |
| 44 | - struct c_HttpHeader search = { | ||
| 45 | - sdbm((const unsigned char*)name, nname), | ||
| 46 | - NULL, | ||
| 47 | - {}, | ||
| 48 | - 0}; | 44 | + unsigned long hash = sdbm((const unsigned char*)name, nname); |
| 49 | 45 | ||
| 50 | - HttpHeader * found = tfind(&search, (void**)root, comp); | 46 | + HttpHeader * found = tfind(&hash, (void**)root, comp); |
| 51 | 47 | ||
| 52 | return (NULL != found)? *found : NULL; | 48 | return (NULL != found)? *found : NULL; |
| 53 | } | 49 | } |
Please
register
or
login
to post a comment