From e7c5513dcd240d468812b11fda8eaba404ea082c Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 21 Sep 1998 14:34:13 +0000 Subject: Update. 1998-09-21 10:00 Ulrich Drepper * string/bits/string2.h: Add mempcpy optimization. * sysdeps/generic/mempcpy.c: Undefined __mempcpy. * intl/localealias.c: Define mempcpy only if not already defined. * sysdeps/i386/i486/bits/string.h: Define ffsl only if not already defined. 1998-09-20 10:48 -0400 Zack Weinberg * csu/abi-note.S: Emit the note directly instead of defining a preprocessor macro that's only used once. Don't include sysdep.h. * abi-tags: Generalize Solaris entry. 1998-09-18 Andreas Schwab * sysdeps/unix/bsd/getpt.c (__libc_ptyname1, __libc_ptyname2): Change to array to avoid runtime relocation. * sysdeps/unix/sysv/linux/ptsname.c: Update declarations. 1998-09-21 12:22 Andreas Schwab * malloc/Makefile ($(objpfx)libmcheck.a): Fix use of $(LN_S). * math/Makefile ($(objpfx)libieee.a): Likewise. 1998-09-21 Ulrich Drepper * sysdeps/generic/getpt.c: Fix order of argument to weak_alias. Patch by John Tobey . --- sysdeps/unix/bsd/getpt.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) (limited to 'sysdeps/unix/bsd') diff --git a/sysdeps/unix/bsd/getpt.c b/sysdeps/unix/bsd/getpt.c index ec339c8..55d87fa 100644 --- a/sysdeps/unix/bsd/getpt.c +++ b/sysdeps/unix/bsd/getpt.c @@ -31,13 +31,13 @@ #ifndef PTYNAME1 #define PTYNAME1 "pqrsPQRS" #endif -const char *__libc_ptyname1 = PTYNAME1; +const char __libc_ptyname1[] = PTYNAME1; /* Letters indicating the position within a series. */ #ifndef PTYNAME2 #define PTYNAME2 "0123456789abcdefghijklmnopqrstuv"; #endif -const char *__libc_ptyname2 = PTYNAME2; +const char __libc_ptyname2[] = PTYNAME2; /* Open a master pseudo terminal and return its file descriptor. */ @@ -47,32 +47,31 @@ __getpt (void) char buf[sizeof (_PATH_PTY) + 2]; const char *p, *q; char *s; - - s = __stpcpy (buf, _PATH_PTY); - s[0] = '?'; - s[1] = '?'; - s[2] = 0; - for (p = __libc_ptyname1; *p; p++) + s = __mempcpy (buf, _PATH_PTY, sizeof (_PATH_PTY) - 1); + /* s[0] and s[1] will be filled in the loop. */ + s[2] = '\0'; + + for (p = __libc_ptyname1; *p != '\0'; ++p) { s[0] = *p; - for (q = __libc_ptyname2; *q; q++) + for (q = __libc_ptyname2; *q != '\0'; ++q) { int fd; - + s[1] = *q; - + fd = __open (buf, O_RDWR); if (fd != -1) { if (__isatty (fd)) return fd; - + __close (fd); continue; } - + if (errno != EIO) return -1; } -- cgit v1.1