in reply to Re^5: ... (Proof!)
in thread Non-blocking Reads from Pipe Filehandle
I used 0. Didn't work. But then again, has_proto is true for the snippet that shows the problem. What's getting you so excited?
Update: Bug report. Proposed change:
case T_POINTER: params[i].t = T_POINTER; origST[i] = ST(i+1); if(has_proto) { - pointerCallPack(ST(i+1), i, intypes); - params[i].p = (char *) SvPV_nolen(ST(i+1)); + if(SvOK(ST(i+1)) { + pointerCallPack(ST(i+1), i, intypes); + params[i].p = (char *) SvPV_nolen(ST(i+1)); + } else { + params[i].p = NULL; + } } else { if(SvIOK(ST(i+1)) && SvIV(ST(i+1)) == 0) { params[i].p = NULL; } else { params[i].p = (char *) SvPV_nolen(ST(i+1)); } } ... if(params[i].t == T_POINTER && has_proto) { - pointerCallUnpack(origST[i], i, intypes); + if(SvOK(origST[i]) { + pointerCallUnpack(origST[i], i, intypes); + } }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^7: ... (Proof!)
by BrowserUk (Patriarch) on Oct 01, 2008 at 04:59 UTC | |
by ikegami (Patriarch) on Oct 01, 2008 at 05:31 UTC |