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
    attributes according to TERMP and WINP and return handles for both
    ends in AMASTER and ASLAVE.  */
    ends in AMASTER and ASLAVE.  */
 extern int openpty (int *__amaster, int *__aslave, char *__name,
 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)
 libutil_hidden_proto(openpty)
 
 
 /* Create child process and establish the slave pseudo terminal as the
 /* Create child process and establish the slave pseudo terminal as the
    child's controlling terminal.  */
    child's controlling terminal.  */
 extern int forkpty (int *__amaster, char *__name,
 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
 __END_DECLS
 
 

+ 2 - 1
libutil/forkpty.c

@@ -23,7 +23,8 @@
 #include <pty.h>
 #include <pty.h>
 
 
 int
 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;
   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
    according to TERMP and WINP.  Return handles for both ends in
    AMASTER and ASLAVE, and return the name of the slave end in NAME.  */
    AMASTER and ASLAVE, and return the name of the slave end in NAME.  */
 int
 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
 #if 0
 #ifdef PATH_MAX
 #ifdef PATH_MAX