OpenBSD fixes for lib/DtTerm: values.h, #ifdef's and some constants that are not...
authorPascal Stumpf <Pascal.Stumpf@cubes.de>
Thu, 9 Aug 2012 21:53:47 +0000 (23:53 +0200)
committerJon Trulson <jon@radscan.com>
Fri, 10 Aug 2012 20:07:36 +0000 (14:07 -0600)
cde/lib/DtTerm/Term/TermParse.c
cde/lib/DtTerm/TermPrim/TermHeader.h
cde/lib/DtTerm/TermPrim/TermPrimGetPty-bsd.c
cde/lib/DtTerm/TermPrim/TermPrimOSDepI.h
cde/lib/DtTerm/TermPrim/TermPrimParser.c
cde/lib/DtTerm/TermPrim/TermPrimSetPty.c
cde/lib/DtTerm/TermPrim/TermPrimSetUtmp.c
cde/lib/DtTerm/TermPrim/TermPrimSubproc.c
cde/lib/DtTerm/TermPrim/TermPrimUtil.c

index 2d41043c62b74acad3440dcece24a225b846a703..554c6a2461c1215fabf6d20c5122082b2e9dd923 100644 (file)
@@ -57,7 +57,11 @@ static char rcs_id[] = "$TOG: TermParse.c /main/3 1999/10/15 12:25:13 mgreess $"
  */
 #undef MAXINT
 #endif
-#include  <values.h>        
+#if defined(CSRG_BASED)
+#define MAXSHORT SHRT_MAX
+#else
+#include  <values.h>
+#endif
 
 #if defined(USL) || defined(__uxp__)
 #include <ctype.h>
index fcee6e3c89025b42a7b79c193a064790d7b38450..d955c4dcd116fd33fa9322ace7a5c7c2e038a7ed 100644 (file)
@@ -44,7 +44,7 @@
 #include <Xm/Xm.h>
 #include <X11/Xos.h>
 
-#if defined(linux) || defined(UXPArchitecture) || (defined(USL) && (OSMAJORVERSION > 1))
+#if defined(linux) || defined(UXPArchitecture) || (defined(USL) && (OSMAJORVERSION > 1)) || defined(CSRG_BASED)
 #define _NFILE   FOPEN_MAX
 #endif
 
index ee7fe6011657f8b765203cbace9b0beed695d1f5..b8bfd3a035e656b6fb2c48c1be909aa209ecd221 100644 (file)
@@ -166,7 +166,7 @@ static struct _pty_dirs {
     {PTY_null,    PTY_null,     PTY_null,   PTY_null,   PTY_null, False},
 };
 
-#ifdef ALPHA_ARCHITECTURE
+#if defined(ALPHA_ARCHITECTURE) || defined(OpenBSDArchitecture)
 /* Use openpty() to open Master/Slave pseudo-terminal pair */
 /* Current version of openpty() uses non-STREAM device. BSD name space */
 #define TTYNAMELEN      25
@@ -254,7 +254,11 @@ GetPty(char **ptySlave, char **ptyMaster)
                             * name for the tty that everyone else will
                             * use...
                             */
+#if defined(XTHREADS)
                            if (c1 = _XTtyname(ttyFd, tty_buf)) {
+#else
+                           if (c1 = _XTtyname(ttyFd)) {
+#endif
                                ttyDev = realloc(ttyDev, strlen(c1) + 1);
                                (void) strcpy(ttyDev, c1);
                            }
index 47061d71758d8970275c62d4beed1a4cfe7797e7..e5a7b77676650cfe3386810545472b70b5e79539 100644 (file)
 # define USE_TCSENDBREAK       /* use tiocbreak()              */
 #endif /* LINUX_ARCHITECTURE */
 
+#ifdef  OPENBSD_ARCHITECTURE
+# define HAS_SETEUID             /* seteuid available            */
+# define HAS_SETREUID            /* setreuid available           */
+# define USE_TCSENDBREAK       /* use tiocbreak()              */
+#endif /* OPENBSD_ARCHITECTURE */
+
 #ifdef SUN_ARCHITECTURE
 # define XOR_CAPS_LOCK         /* xor caps lock and shift      */
 # define USE_SRIOCSREDIR       /* use SRIOCSREDIR ioctl for -C */
index 98c606b8523913c845b50d6eaf0b5f0ab728e495..f3a6ab7ea9f501a0001c01133156c8432dfc8308 100644 (file)
@@ -47,7 +47,11 @@ static char rcs_id[] = "$TOG: TermPrimParser.c /main/2 1999/10/15 12:23:41 mgree
  */
 #undef MAXINT
 #endif
-#include <values.h>          
+#if defined(CSRG_BASED)
+#define MAXINT INT_MAX
+#else
+#include  <values.h>
+#endif
 
 #ifdef BBA
 #pragma        BBA_IGNORE
index 18e84a68252a65b80df2df91452f319ab72a0011..49fc8c9de45a292931c4f706b8bc4b758e74f0e0 100644 (file)
@@ -109,6 +109,17 @@ static char rcs_id[] = "$TOG: TermPrimSetPty.c /main/2 1998/04/03 17:11:24 mgree
 #define XTTYMODE_weras  14
 #define XTTYMODE_lnext  15
 #define NXTTYMODES      16
+
+#if defined(CSRG_BASED)
+#define TAB3   0x00000000
+#define NLDLY  0x00000000
+#define CRDLY  0x00000000
+#define TABDLY 0x00000000
+#define BSDLY  0x00000000
+#define VTDLY  0x00000000
+#define FFDLY  0x00000000
+#define CBAUD  0x00000000
+#endif
 typedef struct _ttyMode
 {
     char    *name;
index 5619780d8204a076ea4026cdfcf2fdec4a8294f0..4328bd25a41da538ea5cbe8d51d5bf7d3ff13083 100644 (file)
@@ -332,6 +332,7 @@ _DtTermPrimUtmpGetUtLine(int pty, char *ptyName)
 static char *
 UtmpEntryCreate(Widget w, pid_t pid, char *utmpLine)
 {
+#if !defined(CSRG_BASED) /* XXX */
     DtTermPrimitiveWidget tw = (DtTermPrimitiveWidget) w;
     struct termData *tpd = tw->term.tpd;
     struct utmp ut;
@@ -489,6 +490,9 @@ UtmpEntryCreate(Widget w, pid_t pid, char *utmpLine)
     /* failure... */
     (void) endutent();
     return((char *) 0);
+#else /* __OpenBSD__ */
+    return(utmpLine);
+#endif
 }
 
 /* this is a public wrapper around the previous function that runs the
@@ -511,6 +515,7 @@ _DtTermPrimUtmpEntryCreate(Widget w, pid_t pid, char *utmpLine)
 static void
 UtmpEntryDestroy(Widget w, char *utmpLine)
 {
+#if !defined(CSRG_BASED)
     struct utmp ut;
     struct utmp *utPtr;
     time_t now;
@@ -537,6 +542,7 @@ UtmpEntryDestroy(Widget w, char *utmpLine)
     (void) endutent();
 
     (void) DeleteUtmpInfo(utmpLine);
+#endif /* !__OpenBSD__ */
 }
 
 /* this is a public wrapper around the previous function that runs the
index b1d706c74c60668a9267902003dd6de139f19dc8..207381add85e8bcd23997a4fe5ead4a503b47e8f 100644 (file)
@@ -38,7 +38,7 @@ static char rcs_id[] = "$TOG: TermPrimSubproc.c /main/11 1998/04/20 12:45:57 mgr
 
 #include "TermHeader.h"
 #include <fcntl.h>
-#if defined(ALPHA_ARCHITECTURE) || defined(CSRG_ARCHITECTURE) || defined(LINUX_ARCHITECTURE)
+#if defined(ALPHA_ARCHITECTURE) || defined(CSRG_BASED) || defined(LINUX_ARCHITECTURE)
 /* For TIOCSTTY definitions */
 #include <sys/ioctl.h>
 #endif /* ALPHA_ARCHITECTURE */
@@ -461,7 +461,7 @@ _DtTermPrimSubprocExec(Widget                 w,
        /* child...
         */
         _DtTermProcessUnlock();
-#if defined(ALPHA_ARCHITECTURE) || defined(CSRG_ARCHITECTURE) || defined(LINUX_ARCHITECTURE)
+#if defined(ALPHA_ARCHITECTURE) || defined(CSRG_BASED) || defined(LINUX_ARCHITECTURE)
         /* establish a new session for child */
         setsid();
 #else
@@ -482,7 +482,7 @@ _DtTermPrimSubprocExec(Widget                 w,
            (void) _exit(1);
        }
 
-#if defined(ALPHA_ARCHITECTURE) || defined(CSRG_ARCHITECTURE) || defined(LINUX_ARCHITECTURE)
+#if defined(ALPHA_ARCHITECTURE) || defined(CSRG_BASED) || defined(LINUX_ARCHITECTURE)
         /* BSD needs to do this to acquire pty as controlling terminal */
         if (ioctl(pty, TIOCSCTTY, (char *)NULL) < 0) {
            (void) close(pty);
index 608171db48bf6af33ea69443a336c6c7fe8a4ab9..1d9a638dad3faa66a668fdc6de83b788713cdde8 100644 (file)
@@ -462,7 +462,7 @@ _DtTermPrimStartLog(Widget w)
             ** reset signals
             */
             (void) signal(SIGHUP, SIG_DFL);
-            (void) signal(SIGCLD, SIG_DFL);
+            (void) signal(SIGCHLD, SIG_DFL);
 #ifdef BBA
            _bA_dump();
 #endif /* BBA */