Subject: | DBI::preparse() always copies ps_accept to ps_return |
preparse() contins this code:
if (!(ps_return | DBIpp_ph_XX)) { /* no return ph type specified */
ps_return |= ps_accept | DBIpp_ph_XX; /* so copy from ps_accept */
}
The condition looks weird as DBIpp_ph_XX constant is 0x000F00, thus the condition is always true. As a result ps_return always gets the bits copied and 0x000F00 set.
If that were a typo and one used if (!(ps_return & DBIpp_ph_XX)), t/60preparse.t test fails. If I simplify the code to:
ps_return |= ps_accept; /* so copy from ps_accept */
The test still passes.