Преглед изворни кода

Use internal hidden versions of __login_tty/__openpty

Peter S. Mazinger пре 18 година
родитељ
комит
e2d30731f8
3 измењених фајлова са 13 додато и 5 уклоњено
  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)