… | |
… | |
864 | else |
864 | else |
865 | *wd = EIO_INVALID_WD; |
865 | *wd = EIO_INVALID_WD; |
866 | } |
866 | } |
867 | else if (SvTYPE (rv) == SVt_PVMG && SvSTASH (rv) == aio_wd_stash) |
867 | else if (SvTYPE (rv) == SVt_PVMG && SvSTASH (rv) == aio_wd_stash) |
868 | { |
868 | { |
869 | *wd = SvIVX (rv); |
869 | *wd = (aio_wd)(long)SvIVX (rv); |
870 | *wdsv = SvREFCNT_inc_NN (rv); |
870 | *wdsv = SvREFCNT_inc_NN (rv); |
871 | *ptr = "."; |
871 | *ptr = "."; |
872 | return; /* path set to "." */ |
872 | return; /* path set to "." */ |
873 | } |
873 | } |
874 | else |
874 | else |
875 | croak ("IO::AIO: pathname arguments must be specified as strings, an IO::AIO::WD object or a [IO::AIO::WD, path] pair"); |
875 | croak ("IO::AIO: pathname arguments must be specified as a string, an IO::AIO::WD object or a [IO::AIO::WD, path] pair"); |
876 | } |
876 | } |
877 | |
877 | |
878 | *pathsv = newSVsv (path); |
878 | *pathsv = newSVsv (path); |
879 | *ptr = SvPVbyte_nolen (*pathsv); |
879 | *ptr = SvPVbyte_nolen (*pathsv); |
880 | } |
880 | } |