diff options
author | Jonathan Pryor <jpryor@novell.com> | 2006-11-18 00:33:36 +0300 |
---|---|---|
committer | Jonathan Pryor <jpryor@novell.com> | 2006-11-18 00:33:36 +0300 |
commit | 9bf5509f9103f93cfa80cda0332380c6f4be82a2 (patch) | |
tree | ed0786f49a5475e25afb3bc98be5d434575adfc4 /support | |
parent | 88ec00d964c91eb0b755a9da3ac679af9c0ae664 (diff) |
* map.c: Flush (fix FromFilePermissions for SuppressFlags-marked values).
svn path=/trunk/mono/; revision=68103
Diffstat (limited to 'support')
-rw-r--r-- | support/ChangeLog | 4 | ||||
-rw-r--r-- | support/map.c | 14 |
2 files changed, 11 insertions, 7 deletions
diff --git a/support/ChangeLog b/support/ChangeLog index 863e6da8c94..106dc927443 100644 --- a/support/ChangeLog +++ b/support/ChangeLog @@ -1,3 +1,7 @@ +2006-11-17 Jonathan Pryor <jonpryor@vt.edu> + + * map.c: Flush (fix FromFilePermissions for SuppressFlags-marked values). + 2006-11-15 Jonathan Pryor <jonpryor@vt.edu> * map.c: Flush (removes warnings due to _cnm_return_val_if_overflow()). diff --git a/support/map.c b/support/map.c index 01d26d9f9eb..1701cf3e58e 100644 --- a/support/map.c +++ b/support/map.c @@ -2258,31 +2258,31 @@ int Mono_Posix_FromFilePermissions (unsigned int x, unsigned int *r) #endif /* ndef DEFFILEMODE */ if ((x & Mono_Posix_FilePermissions_S_IFMT) == Mono_Posix_FilePermissions_S_IFBLK) #ifdef S_IFBLK - {*r = S_IFBLK; return 0;} + *r |= S_IFBLK; #else /* def S_IFBLK */ {errno = EINVAL; return -1;} #endif /* ndef S_IFBLK */ if ((x & Mono_Posix_FilePermissions_S_IFMT) == Mono_Posix_FilePermissions_S_IFCHR) #ifdef S_IFCHR - {*r = S_IFCHR; return 0;} + *r |= S_IFCHR; #else /* def S_IFCHR */ {errno = EINVAL; return -1;} #endif /* ndef S_IFCHR */ if ((x & Mono_Posix_FilePermissions_S_IFMT) == Mono_Posix_FilePermissions_S_IFDIR) #ifdef S_IFDIR - {*r = S_IFDIR; return 0;} + *r |= S_IFDIR; #else /* def S_IFDIR */ {errno = EINVAL; return -1;} #endif /* ndef S_IFDIR */ if ((x & Mono_Posix_FilePermissions_S_IFMT) == Mono_Posix_FilePermissions_S_IFIFO) #ifdef S_IFIFO - {*r = S_IFIFO; return 0;} + *r |= S_IFIFO; #else /* def S_IFIFO */ {errno = EINVAL; return -1;} #endif /* ndef S_IFIFO */ if ((x & Mono_Posix_FilePermissions_S_IFMT) == Mono_Posix_FilePermissions_S_IFLNK) #ifdef S_IFLNK - {*r = S_IFLNK; return 0;} + *r |= S_IFLNK; #else /* def S_IFLNK */ {errno = EINVAL; return -1;} #endif /* ndef S_IFLNK */ @@ -2294,13 +2294,13 @@ int Mono_Posix_FromFilePermissions (unsigned int x, unsigned int *r) #endif /* ndef S_IFMT */ if ((x & Mono_Posix_FilePermissions_S_IFMT) == Mono_Posix_FilePermissions_S_IFREG) #ifdef S_IFREG - {*r = S_IFREG; return 0;} + *r |= S_IFREG; #else /* def S_IFREG */ {errno = EINVAL; return -1;} #endif /* ndef S_IFREG */ if ((x & Mono_Posix_FilePermissions_S_IFMT) == Mono_Posix_FilePermissions_S_IFSOCK) #ifdef S_IFSOCK - {*r = S_IFSOCK; return 0;} + *r |= S_IFSOCK; #else /* def S_IFSOCK */ {errno = EINVAL; return -1;} #endif /* ndef S_IFSOCK */ |