diff a/src/VBox/Additions/solaris/SharedFolders/vboxfs_prov.c b/src/VBox/Additions/solaris/SharedFolders/vboxfs_prov.c
|
a
|
b
|
sfprov_get_mode(sfp_mount_t *mnt, char *path, mode_t *mode)
|
| 420 | 420 | else if (RTFS_IS_FILE(info.Attr.fMode)) |
| 421 | 421 | m |= S_IFREG; |
| 422 | 422 | else if (RTFS_IS_FIFO(info.Attr.fMode)) |
| 423 | | m |= S_IFDIR; |
| | 423 | m |= S_IFIFO; |
| 424 | 424 | else if (RTFS_IS_DEV_CHAR(info.Attr.fMode)) |
| 425 | 425 | m |= S_IFCHR; |
| 426 | 426 | else if (RTFS_IS_DEV_BLOCK(info.Attr.fMode)) |
| … |
… |
sfprov_get_mode(sfp_mount_t *mnt, char *path, mode_t *mode)
|
| 450 | 450 | m |= S_IXOTH; |
| 451 | 451 | if (info.Attr.fMode & RTFS_UNIX_ISUID) |
| 452 | 452 | m |= S_ISUID; |
| | 453 | if (info.Attr.fMode & RTFS_UNIX_ISGID) |
| | 454 | m |= S_ISGID; |
| | 455 | if (info.Attr.fMode & RTFS_UNIX_ISTXT) |
| | 456 | m |= S_ISVTX; |
| 453 | 457 | *mode = m; |
| 454 | 458 | return (0); |
| 455 | 459 | } |
diff a/src/VBox/Additions/solaris/SharedFolders/vboxfs_vnode.c b/src/VBox/Additions/solaris/SharedFolders/vboxfs_vnode.c
|
a
|
b
|
sffs_getattr(
|
| 726 | 726 | if (error != 0) |
| 727 | 727 | goto done; |
| 728 | 728 | vap->va_mode = mode & MODEMASK; |
| | 729 | if (S_ISDIR(mode)) |
| | 730 | vap->va_type = VDIR; |
| | 731 | else if (S_ISREG(mode)) |
| | 732 | vap->va_type = VREG; |
| | 733 | else if (S_ISFIFO(mode)) |
| | 734 | vap->va_type = VFIFO; |
| | 735 | else if (S_ISCHR(mode)) |
| | 736 | vap->va_type = VCHR; |
| | 737 | else if (S_ISBLK(mode)) |
| | 738 | vap->va_type = VBLK; |
| | 739 | else if (S_ISLNK(mode)) |
| | 740 | vap->va_type = VLNK; |
| | 741 | else if (S_ISSOCK(mode)) |
| | 742 | vap->va_type = VSOCK; |
| 729 | 743 | |
| 730 | 744 | error = sfprov_get_size(node->sf_sffs->sf_handle, node->sf_path, &x); |
| 731 | 745 | if (error == ENOENT) |