… | |
… | |
156 | |
156 | |
157 | break; |
157 | break; |
158 | |
158 | |
159 | case SVt_PVCV: |
159 | case SVt_PVCV: |
160 | { |
160 | { |
161 | int depth = CvDEPTH (sv); |
161 | PADLIST *padlist = CvPADLIST (sv); |
162 | |
162 | |
163 | /* Anonymous subs have a padlist but zero depth */ |
|
|
164 | if (CvANON (sv) && !depth && CvPADLIST (sv)) |
|
|
165 | depth = 1; |
|
|
166 | |
|
|
167 | if (depth) |
163 | if (padlist) |
168 | { |
164 | { |
169 | PADLIST *padlist = CvPADLIST (sv); |
165 | int depth = CvDEPTH (sv); |
|
|
166 | |
|
|
167 | /* Anonymous subs have a padlist but zero depth */ |
|
|
168 | /* some hacks switch CvANON off, so we just blindly assume a minimum of 1 */ |
|
|
169 | if (!depth) |
|
|
170 | depth = 1; |
170 | |
171 | |
171 | while (depth) |
172 | while (depth) |
172 | { |
173 | { |
173 | PAD *pad = PadlistARRAY (padlist)[depth]; |
174 | PAD *pad = PadlistARRAY (padlist)[depth]; |
174 | |
175 | |