… | |
… | |
1938 | |
1938 | |
1939 | case EIO_UNLINK: req->result = unlinkat (dirfd, req->ptr1, 0); break; |
1939 | case EIO_UNLINK: req->result = unlinkat (dirfd, req->ptr1, 0); break; |
1940 | case EIO_RMDIR: /* complications arise because "." cannot be removed, so we might have to expand */ |
1940 | case EIO_RMDIR: /* complications arise because "." cannot be removed, so we might have to expand */ |
1941 | req->result = req->wd && SINGLEDOT (req->ptr1) |
1941 | req->result = req->wd && SINGLEDOT (req->ptr1) |
1942 | ? rmdir (req->wd->str) |
1942 | ? rmdir (req->wd->str) |
1943 | : unlinkat (dirfd, req->ptr1, AT_REMOVEDIR); break; |
1943 | : unlinkat (dirfd, req->ptr1, AT_REMOVEDIR); break; |
1944 | case EIO_MKDIR: req->result = mkdirat (dirfd, req->ptr1, (mode_t)req->int2); break; |
1944 | case EIO_MKDIR: req->result = mkdirat (dirfd, req->ptr1, (mode_t)req->int2); break; |
1945 | case EIO_RENAME: req->result = eio__renameat2 ( |
1945 | case EIO_RENAME: req->result = eio__renameat2 ( |
1946 | dirfd, |
1946 | dirfd, |
1947 | /* complications arise because "." cannot be renamed, so we might have to expand */ |
1947 | /* complications arise because "." cannot be renamed, so we might have to expand */ |
1948 | req->wd && SINGLEDOT (req->ptr1) ? req->wd->str : req->ptr1, |
1948 | req->wd && SINGLEDOT (req->ptr1) ? req->wd->str : req->ptr1, |