brianp 2002/07/05 01:20:43
Modified: tables apr_tables.c
Log:
Streamlined the code for apr_table_get()
Revision Changes Path
1.31 +6 -5 apr/tables/apr_tables.c
Index: apr_tables.c
===================================================================
RCS file: /home/cvs/apr/tables/apr_tables.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- apr_tables.c 5 Jul 2002 05:39:01 -0000 1.30
+++ apr_tables.c 5 Jul 2002 08:20:43 -0000 1.31
@@ -406,8 +406,8 @@
APR_DECLARE(const char *) apr_table_get(const apr_table_t *t, const char
*key)
{
- apr_table_entry_t *elts = (apr_table_entry_t *) t->a.elts;
- int i;
+ apr_table_entry_t *next_elt = (apr_table_entry_t *) t->a.elts;
+ apr_table_entry_t *last_elt = next_elt + t->a.nelts;
apr_uint32_t checksum;
if (key == NULL) {
@@ -415,9 +415,10 @@
}
COMPUTE_KEY_CHECKSUM(key, checksum);
- for (i = 0; i < t->a.nelts; ++i) {
- if ((checksum == elts[i].key_checksum) && !strcasecmp(elts[i].key,
key)) {
- return elts[i].val;
+ for (; next_elt < last_elt; next_elt++) {
+ if ((checksum == next_elt->key_checksum) &&
+ !strcasecmp(next_elt->key, key)) {
+ return next_elt->val;
}
}