… | |
… | |
1264 | len = svlen - dataoffset; |
1264 | len = svlen - dataoffset; |
1265 | } |
1265 | } |
1266 | else |
1266 | else |
1267 | { |
1267 | { |
1268 | /* read: check type and grow scalar as necessary */ |
1268 | /* read: check type and grow scalar as necessary */ |
1269 | SvUPGRADE (data, SVt_PV); |
|
|
1270 | if (SvLEN (data) >= SvCUR (data)) |
1269 | if (!SvPOK (data) || SvLEN (data) >= SvCUR (data)) |
1271 | svptr = SvGROW (data, len + dataoffset + 1); |
1270 | svptr = sv_grow (data, len + dataoffset + 1); |
1272 | else if (SvCUR (data) < len + dataoffset) |
1271 | else if (SvCUR (data) < len + dataoffset) |
1273 | croak ("length + dataoffset outside of scalar, and cannot grow"); |
1272 | croak ("length + dataoffset outside of scalar, and cannot grow"); |
1274 | } |
1273 | } |
1275 | |
1274 | |
1276 | { |
1275 | { |