So I've noticed some other "issues" that I can cause
by
{
  local %ENV {FOO => 1}
}
(see t/response/TestModperl/env.pm)

which ends up in modperl_env.c:
static void modperl_env_table_unpopulate(pTHX_ apr_table_t *table)
{
    HV *hv = ENVHV;
    U32 mg_flags;
    int i;
    const apr_array_header_t *array;
    apr_table_entry_t *elts;
sv_dump((SV*)hv);

    modperl_env_untie(mg_flags);
sv_dump((SV*)hv);

by adding the 2 sv_dumps above, I would expect the second one to tell
me that hv (ENVHV) is no longer tied via 'E', but it _is_.  I'm probably missing
something, but I've no idea what ?

Also, when the time comes to call
modperl_env_hv_delete() a few lines farther down

Finally,
void modperl_env_hv_delete(pTHX_ HV *hv, char *key)
{
    I32 klen = strlen(key);

    if (hv_exists(hv, key, klen)) {
        hv_delete(hv, key, strlen(key), G_DISCARD);
    }
}

This if is _NEVER_ true for the key 'FOO'

So I tried commenting out the if() just to see what what happen an nothing 
happened.
The hash key element never has un_magic(sv, 'e') to undo 
modperl_envelem_tie()...
I tried un_magic'ing the 'key' itself before trying to delete it from the hash 
'hv'
and that didn't accomplish anything either.

*sigh*








-- 
------------------------------------------------------------------------
Philip M. Gollucci ([EMAIL PROTECTED]) 323.219.4708
Consultant / http://p6m7g8.net/Resume/resume.shtml
Senior Software Engineer - TicketMaster - http://ticketmaster.com
1024D/A79997FA F357 0FDD 2301 6296 690F  6A47 D55A 7172 A799 97F

"In all that I've done wrong I know I must have done something right to
deserve a hug every morning and butterfly kisses at night."

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to