diff options
author | Christopher Faylor <me@cgf.cx> | 2003-09-04 01:04:57 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2003-09-04 01:04:57 +0000 |
commit | e48feef96a8fcb94c7cd81a98286da4ba536cc12 (patch) | |
tree | 25b9167c88a7c35aab30b5cd4dfb75acebea0147 /winsup/utils | |
parent | e550f4d98057ed1f0a4d9685c29c81dc9370065e (diff) | |
download | cygnal-e48feef96a8fcb94c7cd81a98286da4ba536cc12.tar.gz cygnal-e48feef96a8fcb94c7cd81a98286da4ba536cc12.tar.bz2 cygnal-e48feef96a8fcb94c7cd81a98286da4ba536cc12.zip |
* mount.cc (mount_commands): Ensure user mode is actually user mode and not the
default system mode.
Diffstat (limited to 'winsup/utils')
-rw-r--r-- | winsup/utils/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/utils/mount.cc | 78 |
2 files changed, 47 insertions, 36 deletions
diff --git a/winsup/utils/ChangeLog b/winsup/utils/ChangeLog index 06df99f3e..282f844f4 100644 --- a/winsup/utils/ChangeLog +++ b/winsup/utils/ChangeLog @@ -1,3 +1,8 @@ +2003-09-01 AJ Reins <reinsaj@yahoo.com> + + * mount.cc (mount_commands): Ensure user mode is actually user mode and + not the default system mode. + 2003-08-31 Christopher Faylor <cgf@redhat.com> * kill.cc (forcekill): Silence some compiler warnings. diff --git a/winsup/utils/mount.cc b/winsup/utils/mount.cc index 2a7014986..5c84280f7 100644 --- a/winsup/utils/mount.cc +++ b/winsup/utils/mount.cc @@ -406,48 +406,54 @@ mount_commands (void) char system_flags[MAX_PATH]; // write mount commands for user and system mount points - while ((p = getmntent (m)) != NULL) { + while ((p = getmntent (m)) != NULL) // Only list non-cygdrives - if (!strstr (p->mnt_opts, ",noumount")) { - strcpy(opts, " -f"); - if (p->mnt_type[0] == 'u') - strcat (opts, " -u"); - else if (p->mnt_type[0] == 's') - strcat (opts, " -s"); - if (p->mnt_opts[0] == 'b') - strcat (opts, " -b"); - else if (p->mnt_opts[0] == 't') - strcat (opts, " -t"); - if (strstr (p->mnt_opts, ",exec")) - strcat (opts, " -x"); - if (strstr (p->mnt_opts, ",noexec")) - strcat (opts, " -E"); - while ((c = strchr (p->mnt_fsname, '\\')) != NULL) - *c = '/'; - printf (format_mnt, opts, p->mnt_fsname, p->mnt_dir); - } - } + if (!strstr (p->mnt_opts, ",noumount")) + { + strcpy(opts, " -f"); + if (p->mnt_type[0] == 'u') + strcat (opts, " -u"); + else if (p->mnt_type[0] == 's') + strcat (opts, " -s"); + if (p->mnt_opts[0] == 'b') + strcat (opts, " -b"); + else if (p->mnt_opts[0] == 't') + strcat (opts, " -t"); + if (strstr (p->mnt_opts, ",exec")) + strcat (opts, " -x"); + if (strstr (p->mnt_opts, ",noexec")) + strcat (opts, " -E"); + if (strstr (p->mnt_opts, ",managed")) + strcat (opts, " -o managed"); + while ((c = strchr (p->mnt_fsname, '\\')) != NULL) + *c = '/'; + printf (format_mnt, opts, p->mnt_fsname, p->mnt_dir); + } endmntent (m); // write mount commands for cygdrive prefixes cygwin_internal (CW_GET_CYGDRIVE_INFO, user, system, user_flags, system_flags); - if (strlen (user) > 0) { - strcpy (opts, " "); - if (user_flags[0] == 'b') - strcat (opts, " -b"); - else if (user_flags[0] == 't') - strcat (opts, " -t"); - printf (format_cyg, opts, user); - } - if (strlen (system) > 0) { - strcpy (opts, " -s"); - if (system_flags[0] == 'b') - strcat (opts, " -b"); - else if (system_flags[0] == 't') - strcat (opts, " -t"); - printf (format_cyg, opts, system); - } + + if (strlen (user) > 0) + { + strcpy (opts, " -u"); + if (user_flags[0] == 'b') + strcat (opts, " -b"); + else if (user_flags[0] == 't') + strcat (opts, " -t"); + printf (format_cyg, opts, user); + } + + if (strlen (system) > 0) + { + strcpy (opts, " -s"); + if (system_flags[0] == 'b') + strcat (opts, " -b"); + else if (system_flags[0] == 't') + strcat (opts, " -t"); + printf (format_cyg, opts, system); + } exit(0); } |