Kaynağa Gözat

Use internal hidden versions of __login_tty/__openpty

Peter S. Mazinger 20 yıl önce
ebeveyn
işleme
e2d30731f8
3 değiştirilmiş dosya ile 13 ekleme ve 5 silme
  1. 6 2
      libutil/forkpty.c
  2. 3 1
      libutil/login_tty.c
  3. 4 2
      libutil/openpty.c

+ 6 - 2
libutil/forkpty.c

@@ -23,12 +23,16 @@
 #include <utmp.h>
 #include <pty.h>
 
+extern int __openpty (int *amaster, int *aslave, char *name, struct termios *termp,
+						struct winsize *winp) attribute_hidden;
+extern int __login_tty(int fd) attribute_hidden;
+
 int forkpty (int *amaster, char *name, 
 	struct termios *termp, struct winsize *winp)
 {
     int master, slave, pid;
 
-    if (openpty (&master, &slave, name, termp, winp) == -1)
+    if (__openpty (&master, &slave, name, termp, winp) == -1)
 	return -1;
 
     switch (pid = fork ())
@@ -38,7 +42,7 @@ int forkpty (int *amaster, char *name,
 	case 0:
 	    /* Child.  */
 	    close (master);
-	    if (login_tty (slave))
+	    if (__login_tty (slave))
 		_exit (1);
 
 	    return 0;

+ 3 - 1
libutil/login_tty.c

@@ -36,7 +36,7 @@
 #include <fcntl.h>
 #include <utmp.h>
 
-int login_tty(int fd)
+int attribute_hidden __login_tty(int fd)
 {
 	(void) setsid();
 #ifdef TIOCSCTTY
@@ -67,3 +67,5 @@ int login_tty(int fd)
 		(void) close(fd);
 	return (0);
 }
+
+strong_alias(__login_tty,login_tty)

+ 4 - 2
libutil/openpty.c

@@ -90,8 +90,8 @@ pts_name (int fd, char **pts, size_t buf_len)
 /* Create pseudo tty master slave pair and set terminal attributes
    according to TERMP and WINP.  Return handles for both ends in
    AMASTER and ASLAVE, and return the name of the slave end in NAME.  */
-int
-openpty (int *amaster, int *aslave, char *name, struct termios *termp,
+int attribute_hidden
+__openpty (int *amaster, int *aslave, char *name, struct termios *termp,
 	 struct winsize *winp)
 {
 #if 0
@@ -158,3 +158,5 @@ openpty (int *amaster, int *aslave, char *name, struct termios *termp,
   close (master);
   return -1;
 }
+
+strong_alias(__openpty,openpty)