diff options
author | Christopher Faylor <me@cgf.cx> | 2001-04-02 04:27:12 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2001-04-02 04:27:12 +0000 |
commit | f97adf983d118eee4f06807e2d9092f32e8846b1 (patch) | |
tree | 94990a300a1c9e4a4bfc91029d89d439d69088ca | |
parent | 68b3c65aa1b7d3d4b1fcd953f9de3f2ce518cd09 (diff) | |
download | newlib-f97adf983d118eee4f06807e2d9092f32e8846b1.zip newlib-f97adf983d118eee4f06807e2d9092f32e8846b1.tar.gz newlib-f97adf983d118eee4f06807e2d9092f32e8846b1.tar.bz2 |
* shared_info.h (mount_info): Remove mnt_ elements.
* thread.h (struct _winsup_t): Add mnt_ elements.
* path.cc (fillout_mntent): Use mnt_ elements from reent_winsup ().
-rw-r--r-- | winsup/cygwin/ChangeLog | 6 | ||||
-rw-r--r-- | winsup/cygwin/path.cc | 29 | ||||
-rw-r--r-- | winsup/cygwin/shared_info.h | 8 | ||||
-rw-r--r-- | winsup/cygwin/thread.h | 4 |
4 files changed, 25 insertions, 22 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 6b6cd1d..60fb236 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +Mon Apr 2 00:24:08 2001 Christopher Faylor <cgf@cygnus.com> + + * shared_info.h (mount_info): Remove mnt_ elements. + * thread.h (struct _winsup_t): Add mnt_ elements. + * path.cc (fillout_mntent): Use mnt_ elements from reent_winsup (). + Sun Apr 1 20:10:34 2001 Christopher Faylor <cgf@cygnus.com> * exceptions.cc (sigframe::call_signal_handler): Return value of diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index fe3c78c..ec14ea8 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -2049,37 +2049,36 @@ fillout_mntent (const char *native_path, const char *posix_path, unsigned flags) table because the mount table might change, causing weird effects from the getmntent user's point of view. */ - strcpy (mount_table->mnt_fsname, native_path); - ret.mnt_fsname = mount_table->mnt_fsname; - strcpy (mount_table->mnt_dir, posix_path); - ret.mnt_dir = mount_table->mnt_dir; + strcpy (_reent_winsup ()->mnt_fsname, native_path); + ret.mnt_fsname = _reent_winsup ()->mnt_fsname; + strcpy (_reent_winsup ()->mnt_dir, posix_path); + ret.mnt_dir = _reent_winsup ()->mnt_dir; if (!(flags & MOUNT_SYSTEM)) /* user mount */ - strcpy (mount_table->mnt_type, (char *) "user"); + strcpy (_reent_winsup ()->mnt_type, (char *) "user"); else /* system mount */ - strcpy (mount_table->mnt_type, (char *) "system"); + strcpy (_reent_winsup ()->mnt_type, (char *) "system"); - if ((flags & MOUNT_AUTO)) /* cygdrive */ - strcat (mount_table->mnt_type, (char *) ",noumount"); - - ret.mnt_type = mount_table->mnt_type; + ret.mnt_type = _reent_winsup ()->mnt_type; /* mnt_opts is a string that details mount params such as binary or textmode, or exec. We don't print `silent' here; it's a magic internal thing. */ if (!(flags & MOUNT_BINARY)) - strcpy (mount_table->mnt_opts, (char *) "textmode"); + strcpy (_reent_winsup ()->mnt_opts, (char *) "textmode"); else - strcpy (mount_table->mnt_opts, (char *) "binmode"); + strcpy (_reent_winsup ()->mnt_opts, (char *) "binmode"); if (flags & MOUNT_CYGWIN_EXEC) - strcat (mount_table->mnt_opts, (char *) ",cygexec"); + strcat (_reent_winsup ()->mnt_opts, (char *) ",cygexec"); else if (flags & MOUNT_EXEC) - strcat (mount_table->mnt_opts, (char *) ",exec"); + strcat (_reent_winsup ()->mnt_opts, (char *) ",exec"); + if ((flags & MOUNT_AUTO)) /* cygdrive */ + strcat (_reent_winsup ()->mnt_opts, (char *) ",noumount"); - ret.mnt_opts = mount_table->mnt_opts; + ret.mnt_opts = _reent_winsup ()->mnt_opts; ret.mnt_freq = 1; ret.mnt_passno = 1; diff --git a/winsup/cygwin/shared_info.h b/winsup/cygwin/shared_info.h index cdaaceb..01e1e2b 100644 --- a/winsup/cygwin/shared_info.h +++ b/winsup/cygwin/shared_info.h @@ -40,7 +40,7 @@ public: scheme should be satisfactory for a long while yet. */ #define MAX_MOUNTS 30 -#define MOUNT_VERSION 0x01010102 +#define MOUNT_VERSION 0x01010103 class reg_key; class mount_info @@ -51,12 +51,6 @@ public: int nmounts; mount_item mount[MAX_MOUNTS]; - /* Strings used by getmntent(). */ - char mnt_type[20]; - char mnt_opts[20]; - char mnt_fsname[MAX_PATH]; - char mnt_dir[MAX_PATH]; - /* cygdrive_prefix is used as the root of the path automatically prepended to a path when the path has no associated mount. cygdrive_flags are the default flags for the cygdrives. */ diff --git a/winsup/cygwin/thread.h b/winsup/cygwin/thread.h index 8e9ac25..deeef50 100644 --- a/winsup/cygwin/thread.h +++ b/winsup/cygwin/thread.h @@ -88,6 +88,10 @@ struct _winsup_t struct mntent mntbuf; int _iteration; DWORD available_drives; + char mnt_type[80]; + char mnt_opts[80]; + char mnt_fsname[MAX_PATH]; + char mnt_dir[MAX_PATH]; /* strerror */ char _strerror_buf[20]; |