Changeset View
Changeset View
Standalone View
Standalone View
sys/compat/linux/linux_file.c
Show First 20 Lines • Show All 1,751 Lines • ▼ Show 20 Lines | linux_chown(struct thread *td, struct linux_chown_args *args) | ||||
return (error); | return (error); | ||||
} | } | ||||
#endif | #endif | ||||
int | int | ||||
linux_fchownat(struct thread *td, struct linux_fchownat_args *args) | linux_fchownat(struct thread *td, struct linux_fchownat_args *args) | ||||
{ | { | ||||
char *path; | char *path; | ||||
int error, dfd, flag; | int error, dfd, flag, unsupported; | ||||
if (args->flag & ~(LINUX_AT_SYMLINK_NOFOLLOW | LINUX_AT_EMPTY_PATH)) { | unsupported = args->flag & ~(LINUX_AT_SYMLINK_NOFOLLOW | LINUX_AT_EMPTY_PATH); | ||||
linux_msg(td, "fchownat unsupported flag 0x%x", args->flag); | if (unsupported != 0) { | ||||
linux_msg(td, "fchownat unsupported flag 0x%x", unsupported); | |||||
return (EINVAL); | return (EINVAL); | ||||
} | } | ||||
flag = (args->flag & LINUX_AT_SYMLINK_NOFOLLOW) == 0 ? 0 : | flag = (args->flag & LINUX_AT_SYMLINK_NOFOLLOW) == 0 ? 0 : | ||||
AT_SYMLINK_NOFOLLOW; | AT_SYMLINK_NOFOLLOW; | ||||
flag |= (args->flag & LINUX_AT_EMPTY_PATH) == 0 ? 0 : | flag |= (args->flag & LINUX_AT_EMPTY_PATH) == 0 ? 0 : | ||||
AT_EMPTY_PATH; | AT_EMPTY_PATH; | ||||
▲ Show 20 Lines • Show All 279 Lines • Show Last 20 Lines |