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

Comparing IO-AIO/AIO.xs (file contents):
Revision 1.251 by root, Sat Jan 6 01:04:42 2018 UTC vs.
Revision 1.252 by root, Sat Jan 6 02:11:10 2018 UTC

699 { 699 {
700 req->flags &= ~EIO_FLAG_PTR2_FREE; 700 req->flags &= ~EIO_FLAG_PTR2_FREE;
701 sv_set_foreign (req->sv2, &sysfree_vtbl, req->ptr2, req->result); 701 sv_set_foreign (req->sv2, &sysfree_vtbl, req->ptr2, req->result);
702 } 702 }
703 else 703 else
704 {
704 SvCUR_set (req->sv2, req->result); 705 SvCUR_set (req->sv2, req->result);
706 *SvEND (req->sv2) = 0;
707 SvPOK_only (req->sv2);
708 }
709
710 SvSETMAGIC (req->sv2);
705 } 711 }
706 712
707 PUSHs (sv_result); 713 PUSHs (sv_result);
708 } 714 }
709 break; 715 break;
1415 } 1421 }
1416 else 1422 else
1417 { 1423 {
1418 /* read: check type and grow scalar as necessary */ 1424 /* read: check type and grow scalar as necessary */
1419 if (!SvPOK (data) || SvLEN (data) >= SvCUR (data)) 1425 if (!SvPOK (data) || SvLEN (data) >= SvCUR (data))
1420 svptr = sv_grow (data, len + dataoffset); 1426 svptr = sv_grow (data, len + dataoffset + 1);
1421 else if (SvCUR (data) < len + dataoffset) 1427 else if (SvCUR (data) < len + dataoffset)
1422 croak ("length + dataoffset outside of scalar, and cannot grow"); 1428 croak ("length + dataoffset outside of scalar, and cannot grow");
1423 } 1429 }
1424 1430
1425 { 1431 {
1819 sv_clear_foreign (data); 1825 sv_clear_foreign (data);
1820 1826
1821 if (length) /* known length, directly read into scalar */ 1827 if (length) /* known length, directly read into scalar */
1822 { 1828 {
1823 if (!SvPOK (data) || SvLEN (data) >= SvCUR (data)) 1829 if (!SvPOK (data) || SvLEN (data) >= SvCUR (data))
1824 svptr = sv_grow (data, length); 1830 svptr = sv_grow (data, length + 1);
1825 else if (SvCUR (data) < length) 1831 else if (SvCUR (data) < length)
1826 croak ("length outside of scalar, and cannot grow"); 1832 croak ("length outside of scalar, and cannot grow");
1827 else 1833 else
1828 svptr = SvPVbyte_nolen (data); 1834 svptr = SvPVbyte_nolen (data);
1829 } 1835 }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines