summaryrefslogtreecommitdiff
path: root/packages/glibc/glibc-2.3.2/glibc22-ttyname-devfs.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/glibc/glibc-2.3.2/glibc22-ttyname-devfs.patch')
-rw-r--r--packages/glibc/glibc-2.3.2/glibc22-ttyname-devfs.patch225
1 files changed, 0 insertions, 225 deletions
diff --git a/packages/glibc/glibc-2.3.2/glibc22-ttyname-devfs.patch b/packages/glibc/glibc-2.3.2/glibc22-ttyname-devfs.patch
deleted file mode 100644
index 902a1b7351..0000000000
--- a/packages/glibc/glibc-2.3.2/glibc22-ttyname-devfs.patch
+++ /dev/null
@@ -1,225 +0,0 @@
---- sysdeps/unix/sysv/linux/ttyname_r.c~ 2001/07/06 04:56:13 1.14
-+++ sysdeps/unix/sysv/linux/ttyname_r.c 2002/01/06 02:27:48
-@@ -28,21 +28,24 @@
-
- #include <stdio-common/_itoa.h>
-
--static int getttyname_r (char *buf, size_t buflen,
-- dev_t mydev, ino64_t myino, int save,
-+static int getttyname_r (const char *prefix, char *buf, size_t buflen,
-+ struct stat64 *mystat, int save,
- int *dostat) internal_function;
-
- static int
- internal_function
--getttyname_r (char *buf, size_t buflen, dev_t mydev, ino64_t myino,
-+getttyname_r (const char *prefix, char *buf, size_t buflen, struct stat64 *mystat,
- int save, int *dostat)
- {
- struct stat64 st;
- DIR *dirstream;
- struct dirent64 *d;
-- size_t devlen = strlen (buf);
-+ size_t devlen = strlen (prefix);
-
-- dirstream = __opendir (buf);
-+ memcpy (buf, prefix, devlen);
-+ buflen -= devlen;
-+
-+ dirstream = __opendir (prefix);
- if (dirstream == NULL)
- {
- *dostat = -1;
-@@ -50,7 +53,7 @@
- }
-
- while ((d = __readdir64 (dirstream)) != NULL)
-- if ((d->d_fileno == myino || *dostat)
-+ if ((d->d_fileno == mystat->st_ino || *dostat)
- && strcmp (d->d_name, "stdin")
- && strcmp (d->d_name, "stdout")
- && strcmp (d->d_name, "stderr"))
-@@ -71,9 +74,9 @@
-
- if (__xstat64 (_STAT_VER, buf, &st) == 0
- #ifdef _STATBUF_ST_RDEV
-- && S_ISCHR (st.st_mode) && st.st_rdev == mydev
-+ && S_ISCHR (st.st_mode) && st.st_rdev == mystat->st_rdev
- #else
-- && d->d_fileno == myino && st.st_dev == mydev
-+ && d->d_fileno == mystat->st_ino && st.st_dev == mystat->st_dev
- #endif
- )
- {
-@@ -99,7 +102,8 @@
- struct stat64 st, st1;
- int dostat = 0;
- int save = errno;
-- int ret;
-+ int ret, i;
-+ const char *dirs[] = { "/dev/pts/", "/dev/vc/", "/dev/tts/", 0 };
-
- /* Test for the absolute minimal size. This makes life easier inside
- the loop. */
-@@ -139,50 +143,24 @@
- if (__fxstat64 (_STAT_VER, fd, &st) < 0)
- return errno;
-
-- /* Prepare the result buffer. */
-- memcpy (buf, "/dev/pts/", sizeof ("/dev/pts/"));
-- buflen -= sizeof ("/dev/pts/") - 1;
-+ ret = ENOTTY;
-
-- if (__xstat64 (_STAT_VER, buf, &st1) == 0 && S_ISDIR (st1.st_mode))
-- {
--#ifdef _STATBUF_ST_RDEV
-- ret = getttyname_r (buf, buflen, st.st_rdev, st.st_ino, save,
-- &dostat);
--#else
-- ret = getttyname_r (buf, buflen, st.st_dev, st.st_ino, save,
-- &dostat);
--#endif
-- }
-- else
-+ for (i = 0; ret && dirs[i]; i++)
- {
-- __set_errno (save);
-- ret = ENOENT;
-+ if (__xstat64 (_STAT_VER, dirs[i], &st1) == 0 && S_ISDIR (st1.st_mode))
-+ ret = getttyname_r (dirs[i], buf, buflen, &st, save, &dostat);
-+ else
-+ __set_errno (save);
- }
-
-+
- if (ret && dostat != -1)
-- {
-- buf[sizeof ("/dev/") - 1] = '\0';
-- buflen += sizeof ("pts/") - 1;
--#ifdef _STATBUF_ST_RDEV
-- ret = getttyname_r (buf, buflen, st.st_rdev, st.st_ino, save,
-- &dostat);
--#else
-- ret = getttyname_r (buf, buflen, st.st_dev, st.st_ino, save,
-- &dostat);
--#endif
-- }
-+ ret = getttyname_r ("/dev/", buf, buflen, &st, save, &dostat);
-
- if (ret && dostat != -1)
- {
-- buf[sizeof ("/dev/") - 1] = '\0';
- dostat = 1;
--#ifdef _STATBUF_ST_RDEV
-- ret = getttyname_r (buf, buflen, st.st_rdev, st.st_ino,
-- save, &dostat);
--#else
-- ret = getttyname_r (buf, buflen, st.st_dev, st.st_ino,
-- save, &dostat);
--#endif
-+ ret = getttyname_r ("/dev/", buf, buflen, &st, save, &dostat);
- }
-
- return ret;
---- sysdeps/unix/sysv/linux/ttyname.c~ 2001/07/06 04:56:13 1.16
-+++ sysdeps/unix/sysv/linux/ttyname.c 2002/01/06 02:27:48
-@@ -30,8 +30,8 @@
-
- char *__ttyname;
-
--static char *getttyname (const char *dev, dev_t mydev,
-- ino64_t myino, int save, int *dostat)
-+static char *getttyname (const char *dev, struct stat64 *mystat,
-+ int save, int *dostat)
- internal_function;
-
-
-@@ -39,7 +39,7 @@
-
- static char *
- internal_function
--getttyname (const char *dev, dev_t mydev, ino64_t myino, int save, int *dostat)
-+getttyname (const char *dev, struct stat64 *mystat, int save, int *dostat)
- {
- static size_t namelen;
- struct stat64 st;
-@@ -55,7 +55,7 @@
- }
-
- while ((d = __readdir64 (dirstream)) != NULL)
-- if ((d->d_fileno == myino || *dostat)
-+ if ((d->d_fileno == mystat->st_ino || *dostat)
- && strcmp (d->d_name, "stdin")
- && strcmp (d->d_name, "stdout")
- && strcmp (d->d_name, "stderr"))
-@@ -78,9 +78,9 @@
- memcpy (&getttyname_name[devlen], d->d_name, dlen);
- if (__xstat64 (_STAT_VER, getttyname_name, &st) == 0
- #ifdef _STATBUF_ST_RDEV
-- && S_ISCHR (st.st_mode) && st.st_rdev == mydev
-+ && S_ISCHR (st.st_mode) && st.st_rdev == mystat->st_rdev
- #else
-- && d->d_fileno == myino && st.st_dev == mydev
-+ && d->d_fileno == mystat->st_ino && st.st_dev == mystat->st_dev
- #endif
- )
- {
-@@ -110,9 +110,10 @@
- char procname[30];
- struct stat64 st, st1;
- int dostat = 0;
-- char *name;
-+ char *name = NULL;
- int save = errno;
-- int len;
-+ int len, i;
-+ const char *dirs[] = { "/dev/pts", "/dev/vc", "/dev/tts", 0 };
-
- if (!__isatty (fd))
- return NULL;
-@@ -146,37 +147,21 @@
- if (__fxstat64 (_STAT_VER, fd, &st) < 0)
- return NULL;
-
-- if (__xstat64 (_STAT_VER, "/dev/pts", &st1) == 0 && S_ISDIR (st1.st_mode))
-+ for (i = 0; !name && dirs[i]; i++)
- {
--#ifdef _STATBUF_ST_RDEV
-- name = getttyname ("/dev/pts", st.st_rdev, st.st_ino, save, &dostat);
--#else
-- name = getttyname ("/dev/pts", st.st_dev, st.st_ino, save, &dostat);
--#endif
-+ if (__xstat64 (_STAT_VER, dirs[i], &st1) == 0 && S_ISDIR (st1.st_mode))
-+ name = getttyname (dirs[i], &st, save, &dostat);
-+ else
-+ __set_errno (save);
- }
-- else
-- {
-- __set_errno (save);
-- name = NULL;
-- }
--
-+
- if (!name && dostat != -1)
-- {
--#ifdef _STATBUF_ST_RDEV
-- name = getttyname ("/dev", st.st_rdev, st.st_ino, save, &dostat);
--#else
-- name = getttyname ("/dev", st.st_dev, st.st_ino, save, &dostat);
--#endif
-- }
-+ name = getttyname ("/dev", &st, save, &dostat);
-
- if (!name && dostat != -1)
- {
- dostat = 1;
--#ifdef _STATBUF_ST_RDEV
-- name = getttyname ("/dev", st.st_rdev, st.st_ino, save, &dostat);
--#else
-- name = getttyname ("/dev", st.st_dev, st.st_ino, save, &dostat);
--#endif
-+ name = getttyname ("/dev", &st, save, &dostat);
- }
-
- return name;