In the second chunk of the patch [classes/env.pmc], what is free_it set to if the else branch is taken? IOW, I think you should have free_it initialized to 0 when you declare it.
In the last part of the patch [config/gen/platform/win32.c], why do you set *free_it to 0 even when you return NULL? Wouldn't it be better to have it as: if( size == 0 ) { *free_it = 0; return NULL; } else *free_it = 1; (Of course, the unnecessary mem_sys_free(NULL) is harmless, but still...) -- $a=24;split//,240513;s/\B/ => /for@@=qw(ac ab bc ba cb ca );{push(@b,$a),($a-=6)^=1 for 2..$a/6x--$|;print "[EMAIL PROTECTED] ]\n";((6<=($a-=6))?$a+=$_[$a%6]-$a%6:($a=pop @b))&&redo;}