ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/IO-AIO/schmorp.h
(Generate patch)

Comparing IO-AIO/schmorp.h (file contents):
Revision 1.2 by root, Tue Jul 14 00:14:27 2009 UTC vs.
Revision 1.3 by root, Tue Jul 14 00:32:27 2009 UTC

135static SV * 135static SV *
136s_get_cv (SV *cb_sv) 136s_get_cv (SV *cb_sv)
137{ 137{
138 HV *st; 138 HV *st;
139 GV *gvp; 139 GV *gvp;
140 CV *cv = sv_2cv (cb_sv, &st, &gvp, 0);
141 140
142 return (SV *)cv; 141 SvGETMAGIC (cb_sv);
142 return SvOK (cb_sv) ? sv_2cv (cb_sv, &st, &gvp, 0) : 0;
143} 143}
144 144
145static SV * 145static SV *
146s_get_cv_croak (SV *cb_sv) 146s_get_cv_croak (SV *cb_sv)
147{ 147{
148 cb_sv = s_get_cv (cb_sv); 148 SV *cv = s_get_cv (cb_sv);
149 149
150 if (!cb_sv) 150 if (!cv)
151 croak ("%s: callback must be a CODE reference or another callable object", SvPV_nolen (cb_sv)); 151 croak ("%s: callback must be a CODE reference or another callable object", SvPV_nolen (cb_sv));
152 152
153 return cb_sv; 153 return cv;
154} 154}
155 155
156/*****************************************************************************/ 156/*****************************************************************************/
157/* gensub: simple closure generation utility */ 157/* gensub: simple closure generation utility */
158 158

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines