Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.2:Test
kterm
kterm-6.2.0-glibc2.1.suse.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File kterm-6.2.0-glibc2.1.suse.diff of Package kterm
--- kterm-6.2.0.orig/main.c Wed Dec 15 12:16:37 1999 +++ kterm-6.2.0/main.c Thu Dec 16 10:43:34 1999 @@ -116,7 +116,7 @@ static Bool IsPts = False; #endif -#if defined(ATT) && !defined(__sgi) +#if (defined(ATT) && !defined(__sgi)) || (defined(SYSV) && defined(i386)) || (defined (__GLIBC__) && ((__GLIBC__ > 2) || (__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1))) #define USE_USG_PTYS #else #define USE_HANDSHAKE @@ -140,6 +140,9 @@ #define HAS_UTMP_UT_HOST #define LASTLOG #define WTMP +#if (__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1)) +#include <pty.h> +#endif #endif #include <sys/ioctl.h> @@ -283,7 +286,15 @@ #include <lastlog.h> # endif #endif + +/* Xpoll.h and <sys/param.h> on glibc 2.1 systems have colliding NBBY's */ +#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1))) +#ifndef NOFILE +#define NOFILE OPEN_MAX +#endif +#elif !defined(MINIX) && !defined(WIN32) && !defined(Lynx) && !defined(__GNU__) #include <sys/param.h> /* for NOFILE */ +#endif #ifdef PUCC_PTYD #include <local/openpty.h> @@ -1681,14 +1692,13 @@ * has problems, we can re-enter this function and get another one. */ -get_pty (pty) - int *pty; +static int +get_pty (int *pty) { -#ifdef __osf__ +#if defined(__osf__) || (defined(__GLIBC__) && !defined(USE_USG_PTYS)) int tty; return (openpty(pty, &tty, ttydev, NULL, NULL)); -#endif -#if defined(SYSV) && defined(i386) && !defined(SVR4) +#elif (defined(SYSV) && defined(i386) && !defined(SVR4)) || defined(__QNXNTO__) /* The order of this code is *important*. On SYSV/386 we want to open a /dev/ttyp? first if at all possible. If none are available, then @@ -1714,20 +1724,27 @@ */ if (pty_search(pty) == 0) return 0; -#endif /* SYSV && i386 && !SVR4 */ -#if defined(ATT) && !defined(__sgi) +#elif defined(USE_USG_PTYS) +#ifdef __GLIBC__ /* if __GLIBC__ and USE_USG_PTYS, we know glibc >= 2.1 */ + /* GNU libc 2 allows us to abstract away from having to know the + master pty device name. */ + if ((*pty = getpt()) < 0) { + return 1; + } + strcpy(ttydev, ptsname(*pty)); +#else if ((*pty = open ("/dev/ptmx", O_RDWR)) < 0) { return 1; } -#if defined(SVR4) || defined(i386) +#endif +#if defined(SVR4) || defined(SCO325) || (defined(i386) && defined(SYSV)) strcpy(ttydev, ptsname(*pty)); #if defined (SYSV) && defined(i386) && !defined(SVR4) IsPts = True; #endif #endif return 0; -#else /* ATT else */ -#ifdef AIXV3 +#elif defined( AIXV3) if ((*pty = open ("/dev/ptc", O_RDWR)) < 0) { return 1; } @@ -1786,7 +1803,6 @@ #endif /* __sgi or umips else */ #endif /* USE_GET_PSEUDOTTY else */ -#endif /* ATT else */ } /* @@ -2369,6 +2385,7 @@ if ((ptyfd = open (ptsname(screen->respond), O_RDWR)) < 0) { SysError (1); } +#ifdef I_PUSH if (ioctl (ptyfd, I_PUSH, "ptem") < 0) { SysError (2); } @@ -2385,6 +2402,7 @@ SysError (5); } #endif /* SVR4 */ +#endif /* I_PUSH */ tty = ptyfd; close (screen->respond); #ifdef TIOCSWINSZ @@ -2447,12 +2465,12 @@ #endif #endif /* USE_SYSV_PGRP */ while (1) { -#ifdef TIOCNOTTY +#if defined(TIOCNOTTY) && !((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1))) if (!no_dev_tty && (tty = open ("/dev/tty", O_RDWR)) >= 0) { ioctl (tty, TIOCNOTTY, (char *) NULL); close (tty); } -#endif /* TIOCNOTTY */ +#endif /* TIOCNOTTY && !glibc >=2.1 */ if ((tty = open(ttydev, O_RDWR, 0)) >= 0) { #if defined(CRAY) && defined(TCSETCTTY) /* make /dev/tty work */ @@ -2954,7 +2972,7 @@ /* set up the new entry */ utmp.ut_type = USER_PROCESS; -#ifndef linux +#if !(defined(linux) && (!defined(__GLIBC__) || (__GLIBC__ < 2))) && !defined(SVR4) utmp.ut_exit.e_exit = 2; #endif (void) strncpy(utmp.ut_user, @@ -2986,7 +3004,7 @@ sizeof(utmp.ut_name)); utmp.ut_pid = getpid(); -#ifdef SVR4 +#if defined(SVR4) || defined(SCO325) || (defined(linux) && defined(__GLIBC__) && (__GLIBC__ >= 2)) utmp.ut_session = getsid(0); utmp.ut_xtime = time ((Time_t *) 0); utmp.ut_tv.tv_usec = 0; @@ -2998,9 +3016,12 @@ if (!resource.utmpInhibit) (void) pututline(&utmp); #ifdef WTMP -#ifdef SVR4 +#if defined(SVR4) || defined(SCO325) if (term->misc.login_shell) updwtmpx(WTMPX_FILE, &utmp); +#elif defined(linux) && defined(__GLIBC__) && (__GLIBC__ >= 2) + if (term->misc.login_shell) + updwtmp(etc_wtmp, &utmp); #else if (term->misc.login_shell && (i = open(etc_wtmp, O_WRONLY|O_APPEND)) >= 0) { @@ -3409,7 +3430,7 @@ #endif char* ptyname; char* ptynameptr; -#if defined(WTMP) && !defined(SVR4) +#if defined(WTMP) && !defined(SVR4) && !(defined(linux) && defined(__GLIBC__) && (__GLIBC__ >= 2)) int fd; /* for /etc/wtmp */ int i; #endif @@ -3441,7 +3462,7 @@ /* write it out only if it exists, and the pid's match */ if (utptr && (utptr->ut_pid == screen->pid)) { utptr->ut_type = DEAD_PROCESS; -#ifdef SVR4 +#if defined(SVR4) || defined(SCO325) || (defined(linux) && defined(__GLIBC__) && (__GLIBC__ >= 2)) utmp.ut_session = getsid(0); utmp.ut_xtime = time ((Time_t *) 0); utmp.ut_tv.tv_usec = 0; @@ -3450,12 +3471,18 @@ #endif (void) pututline(utptr); #ifdef WTMP -#ifdef SVR4 - updwtmpx(WTMPX_FILE, &utmp); +#if defined(SVR4) || defined(SCO325) + if (term->misc.login_shell) + updwtmpx(WTMPX_FILE, utptr); +#elif defined(linux) && defined(__GLIBC__) && (__GLIBC__ >= 2) + strncpy (utmp.ut_line, utptr->ut_line, sizeof (utmp.ut_line)); + if (term->misc.login_shell) + updwtmp(etc_wtmp, utptr); #else /* set wtmp entry if wtmp file exists */ - if ((fd = open(etc_wtmp, O_WRONLY | O_APPEND)) >= 0) { - i = write(fd, utptr, sizeof(utmp)); + if (term->misc.login_shell && + (fd = open(etc_wtmp, O_WRONLY | O_APPEND)) >= 0) { + i = write(fd, utptr, sizeof(*utptr)); i = close(fd); } #endif --- kterm-6.2.0.orig/screen.c Wed Dec 15 13:53:53 1999 +++ kterm-6.2.0/screen.c Wed Dec 15 13:58:00 1999 @@ -40,13 +40,21 @@ #include <sys/ioctl.h> #endif -#ifdef att +#ifdef SYSV +#if !defined(DGUX) /* Intel DG/ux uses termios.h */ #include <sys/termio.h> +#endif /* DGUX */ +#ifdef USE_USG_PTYS #include <sys/stream.h> /* get typedef used in ptem.h */ #include <sys/ptem.h> #endif +#endif + +#ifndef __malloc_and_calloc_defined +extern Char *calloc(), *malloc(); +#endif -extern Char *calloc(), *malloc(), *realloc(); +extern Char *realloc(); extern void free(); ScrnBuf Allocate (nrow, ncol, addr) --- kterm-6.2.0.orig/ptyx.h Wed Dec 15 13:26:11 1999 +++ kterm-6.2.0/ptyx.h Wed Dec 15 13:58:32 1999 @@ -81,7 +81,7 @@ #ifdef hpux #define TTYDEV "/dev/pty/ttyxx" #else /* !hpux */ -#ifdef __osf__ +#if defined(__osf__) || (defined(linux) && (__GLIBC__ >= 2) && (__GLIBC_MINOR__ >= 1)) #define TTYDEV "/dev/ttydirs/xxx/xxxxxxxxxxxxxx" #else #define TTYDEV "/dev/ttyxx" --- kterm-6.2.0.orig/scrollbar.c Tue Jan 25 15:46:30 2000 +++ kterm-6.2.0/scrollbar.c Tue Dec 14 17:26:29 1999 @@ -324,7 +324,10 @@ register TScreen *screen = &xw->screen; register int border = 2 * screen->border; register int i; + +#ifndef __malloc_and_calloc_defined Char *realloc(), *calloc(); +#endif if(screen->scrollbar) return;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor