Mercurial > hg > nginx-vendor-current
comparison src/core/ngx_hash.h @ 198:e6da4931e0e0 NGINX_0_3_46
nginx 0.3.46
*) Feature: the "proxy_hide_header", "proxy_pass_header",
"fastcgi_hide_header", and "fastcgi_pass_header" directives.
*) Change: the "proxy_pass_x_powered_by", "fastcgi_x_powered_by", and
"proxy_pass_server" directives were canceled.
*) Feature: the "X-Accel-Buffering" response header line is supported
in proxy mode.
*) Bugfix: the reconfiguration bug and memory leaks in the
ngx_http_perl_module.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Thu, 11 May 2006 00:00:00 +0400 |
parents | 36af50a5582d |
children | 95d92ec39071 |
comparison
equal
deleted
inserted
replaced
197:93658b91fad2 | 198:e6da4931e0e0 |
---|---|
92 | 92 |
93 typedef struct { | 93 typedef struct { |
94 ngx_uint_t hash; | 94 ngx_uint_t hash; |
95 ngx_str_t key; | 95 ngx_str_t key; |
96 ngx_str_t value; | 96 ngx_str_t value; |
97 u_char *lowcase_key; | |
97 } ngx_table_elt_t; | 98 } ngx_table_elt_t; |
98 | 99 |
99 | 100 |
100 void *ngx_hash_find(ngx_hash_t *hash, ngx_uint_t key, u_char *name, size_t len); | 101 void *ngx_hash_find(ngx_hash_t *hash, ngx_uint_t key, u_char *name, size_t len); |
101 void *ngx_hash_find_wildcard(ngx_hash_wildcard_t *hwc, u_char *name, | 102 void *ngx_hash_find_wildcard(ngx_hash_wildcard_t *hwc, u_char *name, |
104 ngx_int_t ngx_hash_init(ngx_hash_init_t *hinit, ngx_hash_key_t *names, | 105 ngx_int_t ngx_hash_init(ngx_hash_init_t *hinit, ngx_hash_key_t *names, |
105 ngx_uint_t nelts); | 106 ngx_uint_t nelts); |
106 ngx_int_t ngx_hash_wildcard_init(ngx_hash_init_t *hinit, ngx_hash_key_t *names, | 107 ngx_int_t ngx_hash_wildcard_init(ngx_hash_init_t *hinit, ngx_hash_key_t *names, |
107 ngx_uint_t nelts); | 108 ngx_uint_t nelts); |
108 | 109 |
109 #define ngx_hash(key, c) key * 31 + c | 110 #define ngx_hash(key, c) ((ngx_uint_t) key * 31 + c) |
110 ngx_uint_t ngx_hash_key(u_char *data, size_t len); | 111 ngx_uint_t ngx_hash_key(u_char *data, size_t len); |
111 ngx_uint_t ngx_hash_key_lc(u_char *data, size_t len); | 112 ngx_uint_t ngx_hash_key_lc(u_char *data, size_t len); |
112 | 113 |
113 ngx_int_t ngx_hash_keys_array_init(ngx_hash_keys_arrays_t *ha, ngx_uint_t type); | 114 ngx_int_t ngx_hash_keys_array_init(ngx_hash_keys_arrays_t *ha, ngx_uint_t type); |
114 ngx_int_t ngx_hash_add_key(ngx_hash_keys_arrays_t *ha, ngx_str_t *key, | 115 ngx_int_t ngx_hash_add_key(ngx_hash_keys_arrays_t *ha, ngx_str_t *key, |
115 void *value, ngx_uint_t flags); | 116 void *value, ngx_uint_t flags); |
116 | 117 |
117 | 118 |
118 #define ngx_hash0(key, c) key + c | |
119 ngx_int_t ngx_hash0_init(ngx_hash0_t *hash, ngx_pool_t *pool, void *names, | |
120 ngx_uint_t nelts); | |
121 | |
122 | |
123 #endif /* _NGX_HASH_H_INCLUDED_ */ | 119 #endif /* _NGX_HASH_H_INCLUDED_ */ |