Browse Source

openpty/forkpty: use const for termios and winsize arguments

The termios and winsize arguments are const as per the POSIX standard,
and also uclibc and musl define them as such. Adapt the uclibc-ng
definitions and declarations accordingly to improve compatibility.

Signed-off-by: Marcus Haehnel <marcus.haehnel@kernkonzept.com>
Marcus Haehnel 3 months ago
parent
commit
c0a9f8cf8e
3 changed files with 8 additions and 5 deletions
  1. 4 2
      include/pty.h
  2. 2 1
      libutil/forkpty.c
  3. 2 2
      libutil/openpty.c

+ 4 - 2
include/pty.h

@@ -31,13 +31,15 @@ __BEGIN_DECLS
    attributes according to TERMP and WINP and return handles for both
    ends in AMASTER and ASLAVE.  */
 extern int openpty (int *__amaster, int *__aslave, char *__name,
-		    struct termios *__termp, struct winsize *__winp) __THROW;
+		    const struct termios *__termp,
+		    const struct winsize *__winp) __THROW;
 libutil_hidden_proto(openpty)
 
 /* Create child process and establish the slave pseudo terminal as the
    child's controlling terminal.  */
 extern int forkpty (int *__amaster, char *__name,
-		    struct termios *__termp, struct winsize *__winp) __THROW;
+		    const struct termios *__termp,
+		    const struct winsize *__winp) __THROW;
 
 __END_DECLS
 

+ 2 - 1
libutil/forkpty.c

@@ -23,7 +23,8 @@
 #include <pty.h>
 
 int
-forkpty (int *amaster, char *name, struct termios *termp, struct winsize *winp)
+forkpty (int *amaster, char *name, const struct termios *termp,
+         const struct winsize *winp)
 {
   int master, slave, pid;
 

+ 2 - 2
libutil/openpty.c

@@ -85,8 +85,8 @@ pts_name (int fd, char **pts, size_t buf_len)
    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,
-	 struct winsize *winp)
+openpty (int *amaster, int *aslave, char *name, const struct termios *termp,
+	 const struct winsize *winp)
 {
 #if 0
 #ifdef PATH_MAX