dougm 01/09/19 16:08:07
Modified: xs/APR/Table APR__Table.h
Log:
change APR::Table->do to use an apr_hash instead of apr_table for filtering
Submitted by: Philippe M . Chiasson <[EMAIL PROTECTED]>
Reviewed by: dougm
Revision Changes Path
1.3 +7 -5 modperl-2.0/xs/APR/Table/APR__Table.h
Index: APR__Table.h
===================================================================
RCS file: /home/cvs/modperl-2.0/xs/APR/Table/APR__Table.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- APR__Table.h 2001/09/15 18:21:48 1.2
+++ APR__Table.h 2001/09/19 23:08:07 1.3
@@ -1,6 +1,6 @@
typedef struct {
SV *cv;
- apr_table_t *filter; /*XXX: or maybe a mgv ? */
+ apr_hash_t *filter;
PerlInterpreter *perl;
} mpxs_table_do_cb_data_t;
@@ -21,7 +21,7 @@
/* Skip entries if not in our filter list */
if (tdata->filter) {
- if (!apr_table_get(tdata->filter, key)) {
+ if (!apr_hash_get(tdata->filter, key, APR_HASH_KEY_STRING)) {
return 1;
}
}
@@ -62,12 +62,14 @@
#endif
if (items > 2) {
+ char *filter_entry;
STRLEN len;
- tdata.filter = apr_table_make(table->a.pool, items-2);
+
+ tdata.filter = apr_hash_make(table->a.pool);
while (MARK <= SP) {
- /* XXX: can we use apr_table_setn here? */
- apr_table_set(tdata.filter, SvPV(*MARK,len), "1");
+ filter_entry = SvPV(*MARK, len);
+ apr_hash_set(tdata.filter, filter_entry, len, "1");
MARK++;
}
}