aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2001-04-02 04:27:12 +0000
committerChristopher Faylor <me@cgf.cx>2001-04-02 04:27:12 +0000
commitf97adf983d118eee4f06807e2d9092f32e8846b1 (patch)
tree94990a300a1c9e4a4bfc91029d89d439d69088ca
parent68b3c65aa1b7d3d4b1fcd953f9de3f2ce518cd09 (diff)
downloadnewlib-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/ChangeLog6
-rw-r--r--winsup/cygwin/path.cc29
-rw-r--r--winsup/cygwin/shared_info.h8
-rw-r--r--winsup/cygwin/thread.h4
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];