… | |
… | |
62 | #undef dup |
62 | #undef dup |
63 | #undef dup2 |
63 | #undef dup2 |
64 | #undef abort |
64 | #undef abort |
65 | #undef pipe |
65 | #undef pipe |
66 | |
66 | |
|
|
67 | #define EIO_STRUCT_STAT struct _stati64 |
|
|
68 | #define EIO_STRUCT_STATI64 |
|
|
69 | |
67 | #else |
70 | #else |
68 | |
71 | |
69 | #include <sys/time.h> |
72 | #include <sys/time.h> |
70 | #include <sys/select.h> |
73 | #include <sys/select.h> |
71 | #include <unistd.h> |
74 | #include <unistd.h> |
72 | #include <utime.h> |
75 | #include <utime.h> |
73 | #include <signal.h> |
76 | #include <signal.h> |
74 | |
77 | |
75 | #endif |
|
|
76 | |
|
|
77 | #define EIO_STRUCT_STAT Stat_t |
78 | #define EIO_STRUCT_STAT Stat_t |
|
|
79 | |
|
|
80 | #endif |
78 | |
81 | |
79 | /* use NV for 32 bit perls as it allows larger offsets */ |
82 | /* use NV for 32 bit perls as it allows larger offsets */ |
80 | #if IVSIZE >= 8 |
83 | #if IVSIZE >= 8 |
81 | # define VAL64 IV |
84 | # define VAL64 IV |
82 | # define SvVAL64 SvIV |
85 | # define SvVAL64 SvIV |
… | |
… | |
864 | else |
867 | else |
865 | *wd = EIO_INVALID_WD; |
868 | *wd = EIO_INVALID_WD; |
866 | } |
869 | } |
867 | else if (SvTYPE (rv) == SVt_PVMG && SvSTASH (rv) == aio_wd_stash) |
870 | else if (SvTYPE (rv) == SVt_PVMG && SvSTASH (rv) == aio_wd_stash) |
868 | { |
871 | { |
869 | *wd = SvIVX (rv); |
872 | *wd = (aio_wd)(long)SvIVX (rv); |
870 | *wdsv = SvREFCNT_inc_NN (rv); |
873 | *wdsv = SvREFCNT_inc_NN (rv); |
871 | *ptr = "."; |
874 | *ptr = "."; |
872 | return; /* path set to "." */ |
875 | return; /* path set to "." */ |
873 | } |
876 | } |
874 | else |
877 | else |
… | |
… | |
1439 | aio_link = EIO_LINK |
1442 | aio_link = EIO_LINK |
1440 | aio_symlink = EIO_SYMLINK |
1443 | aio_symlink = EIO_SYMLINK |
1441 | aio_rename = EIO_RENAME |
1444 | aio_rename = EIO_RENAME |
1442 | PPCODE: |
1445 | PPCODE: |
1443 | { |
1446 | { |
|
|
1447 | eio_wd wd2 = 0; |
1444 | dREQ; |
1448 | dREQ; |
1445 | eio_wd wd2 = 0; |
|
|
1446 | |
1449 | |
1447 | req->type = ix; |
1450 | req->type = ix; |
1448 | req_set_path1 (req, oldpath); |
1451 | req_set_path1 (req, oldpath); |
1449 | req_set_path (req, newpath, &req->sv2, &req->sv4, &wd2, &req->ptr2); |
1452 | req_set_path (req, newpath, &req->sv2, &req->sv4, &wd2, &req->ptr2); |
1450 | req->int3 = (long)wd2; |
1453 | req->int3 = (long)wd2; |