[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 06/13] 9p: darwin: Address minor differences
From: |
Greg Kurz |
Subject: |
Re: [Qemu-devel] [PATCH 06/13] 9p: darwin: Address minor differences |
Date: |
Tue, 29 May 2018 23:09:51 +0200 |
On Sat, 26 May 2018 01:23:08 -0400
address@hidden wrote:
> From: Keno Fischer <address@hidden>
>
> - Darwin doesn't have strchrnul
> - Comparisons of mode_t with -1 require an explicit cast, since mode_t
> is unsigned on Darwin.
>
> Signed-off-by: Keno Fischer <address@hidden>
> ---
> hw/9pfs/9p-local.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c
> index fd65d04..6e0b2e8 100644
> --- a/hw/9pfs/9p-local.c
> +++ b/hw/9pfs/9p-local.c
> @@ -67,7 +67,10 @@ int local_open_nofollow(FsContext *fs_ctx, const char
> *path, int flags,
> assert(*path != '/');
>
> head = g_strdup(path);
> - c = strchrnul(path, '/');
> + /* equivalent to strchrnul(), but that is not available on Darwin */
Please make a qemu_strchrnul() helper with a separate implementation for Darwin
then. I guess you can put it in this file since there aren't any other users in
the QEMU code base.
> + c = strchr(path, '/');
> + if (!c)
> + c = path + strlen(path);
> if (*c) {
> /* Intermediate path element */
> head[c - path] = 0;
> @@ -310,7 +313,7 @@ update_map_file:
> if (credp->fc_gid != -1) {
> gid = credp->fc_gid;
> }
> - if (credp->fc_mode != -1) {
> + if (credp->fc_mode != (mode_t)-1) {
> mode = credp->fc_mode;
> }
> if (credp->fc_rdev != -1) {
> @@ -416,7 +419,7 @@ static int local_set_xattrat(int dirfd, const char *path,
> FsCred *credp)
> return err;
> }
> }
> - if (credp->fc_mode != -1) {
> + if (credp->fc_mode != (mode_t)-1) {
> uint32_t tmp_mode = cpu_to_le32(credp->fc_mode);
> err = fsetxattrat_nofollow(dirfd, path, "user.virtfs.mode",
> &tmp_mode,
> sizeof(mode_t), 0);
- Re: [Qemu-devel] [PATCH 03/13] 9p: Move a couple xattr functions to 9p-util, (continued)
[Qemu-devel] [PATCH 04/13] 9p: darwin: Handle struct stat(fs) differences, keno, 2018/05/26
[Qemu-devel] [PATCH 05/13] 9p: darwin: Handle struct dirent differences, keno, 2018/05/26
[Qemu-devel] [PATCH 06/13] 9p: darwin: Address minor differences, keno, 2018/05/26
- Re: [Qemu-devel] [PATCH 06/13] 9p: darwin: Address minor differences,
Greg Kurz <=
[Qemu-devel] [PATCH 07/13] 9p: darwin: Properly translate AT_REMOVEDIR flag, keno, 2018/05/26
[Qemu-devel] [PATCH 08/13] 9p: darwin: Ignore O_{NOATIME, DIRECT}, keno, 2018/05/26