… | |
… | |
617 | break; |
617 | break; |
618 | |
618 | |
619 | case EIO_STAT: |
619 | case EIO_STAT: |
620 | case EIO_LSTAT: |
620 | case EIO_LSTAT: |
621 | case EIO_FSTAT: |
621 | case EIO_FSTAT: |
622 | PL_laststype = req->type == EIO_LSTAT ? OP_LSTAT : OP_STAT; |
622 | PL_laststype = req->type == EIO_LSTAT ? OP_LSTAT : OP_STAT; |
|
|
623 | |
623 | PL_laststatval = req->result; |
624 | if (!(PL_laststatval = req->result)) |
624 | /* if compilation fails here then perl's Stat_t is not struct _stati64 */ |
625 | /* if compilation fails here then perl's Stat_t is not struct _stati64 */ |
625 | PL_statcache = *(EIO_STRUCT_STAT *)(req->ptr2); |
626 | PL_statcache = *(EIO_STRUCT_STAT *)(req->ptr2); |
|
|
627 | |
626 | PUSHs (sv_result); |
628 | PUSHs (sv_result); |
627 | break; |
629 | break; |
628 | |
630 | |
629 | case EIO_READ: |
631 | case EIO_READ: |
630 | { |
632 | { |
… | |
… | |
1359 | PPCODE: |
1361 | PPCODE: |
1360 | { |
1362 | { |
1361 | dREQ; |
1363 | dREQ; |
1362 | |
1364 | |
1363 | req->type = EIO_READDIR; |
1365 | req->type = EIO_READDIR; |
1364 | req->sv1 = newSVsv (pathname); |
|
|
1365 | req->ptr1 = SvPVbyte_nolen (req->sv1); |
|
|
1366 | req->int1 = flags | EIO_READDIR_DENTS | EIO_READDIR_CUSTOM1; |
1366 | req->int1 = flags | EIO_READDIR_DENTS | EIO_READDIR_CUSTOM1; |
1367 | |
1367 | |
1368 | if (flags & EIO_READDIR_DENTS) |
1368 | if (flags & EIO_READDIR_DENTS) |
1369 | req->int1 |= EIO_READDIR_CUSTOM2; |
1369 | req->int1 |= EIO_READDIR_CUSTOM2; |
|
|
1370 | |
|
|
1371 | req_set_path1 (req, pathname); |
1370 | |
1372 | |
1371 | REQ_SEND; |
1373 | REQ_SEND; |
1372 | } |
1374 | } |
1373 | |
1375 | |
1374 | void |
1376 | void |