diff options
43 files changed, 24 insertions, 1194 deletions
diff --git a/nx-X11/config/cf/Imake.cf b/nx-X11/config/cf/Imake.cf index 8decfdc3c..54c7d0aee 100644 --- a/nx-X11/config/cf/Imake.cf +++ b/nx-X11/config/cf/Imake.cf @@ -1117,13 +1117,6 @@ XCOMM Keep cpp from replacing path elements containing i486/i586/i686 #endif #endif -#ifdef emxos2 -#define MacroIncludeFile <os2.cf> -#define MacroFile os2.cf -#define OS2Architecture -#define i386Architecture -#endif /* emxos2 */ - #if defined(__QNX__) && !defined(__QNXNTO__) #define MacroIncludeFile <QNX4.cf> #define MacroFile QNX4.cf diff --git a/nx-X11/config/cf/Imake.tmpl b/nx-X11/config/cf/Imake.tmpl index 5c8effee5..1488c9a32 100644 --- a/nx-X11/config/cf/Imake.tmpl +++ b/nx-X11/config/cf/Imake.tmpl @@ -466,7 +466,7 @@ XCOMM the platform-specific parameters - edit site.def to change #define HasBasename YES #endif #ifndef HasGetopt -# if !defined(Win32Architecture) && !defined(OS2Architecture) +# if !defined(Win32Architecture) # define HasGetopt YES # else # define HasGetopt NO diff --git a/nx-X11/config/cf/xorg.cf b/nx-X11/config/cf/xorg.cf index fb0dbfd08..63ea21264 100644 --- a/nx-X11/config/cf/xorg.cf +++ b/nx-X11/config/cf/xorg.cf @@ -513,7 +513,7 @@ IPLAN2P8_DEFS = -DUSE_IPLAN2P8 # if SystemV || SystemV4 || \ (defined(LinuxArchitecture) && !defined(Mc68020Architecture)) || \ defined(i386BsdArchitecture) || defined(LynxOSArchitecture) || \ - defined(OS2Architecture) || defined(GNUMachArchitecture) || \ + defined(GNUMachArchitecture) || \ (defined(KFreeBSDArchitecture) && defined(i386Architecture)) # define BuildScanpci YES # else diff --git a/nx-X11/extras/Mesa/include/GL/glxext.h b/nx-X11/extras/Mesa/include/GL/glxext.h index 589d1ef36..0f5321a6c 100644 --- a/nx-X11/extras/Mesa/include/GL/glxext.h +++ b/nx-X11/extras/Mesa/include/GL/glxext.h @@ -340,7 +340,7 @@ typedef long int int64_t; typedef long long int int64_t; #endif /* __arch64__ */ #endif /* __STDC__ */ -#elif defined(__UNIXOS2__) || defined(__SOL64__) +#elif defined(__SOL64__) typedef long int int32_t; typedef long long int int64_t; #elif defined( __VMS ) diff --git a/nx-X11/extras/Mesa/src/mesa/math/m_debug_clip.c b/nx-X11/extras/Mesa/src/mesa/math/m_debug_clip.c index ae8108b88..da482a2dd 100644 --- a/nx-X11/extras/Mesa/src/mesa/math/m_debug_clip.c +++ b/nx-X11/extras/Mesa/src/mesa/math/m_debug_clip.c @@ -36,11 +36,6 @@ #include "m_debug.h" #include "m_debug_util.h" -#ifdef __UNIXOS2__ -/* The linker doesn't like empty files */ -static char dummy; -#endif - #ifdef DEBUG /* This code only used for debugging */ static clip_func *clip_tab[2] = { diff --git a/nx-X11/extras/Mesa/src/mesa/math/m_debug_norm.c b/nx-X11/extras/Mesa/src/mesa/math/m_debug_norm.c index e40399855..4eac6f6dc 100644 --- a/nx-X11/extras/Mesa/src/mesa/math/m_debug_norm.c +++ b/nx-X11/extras/Mesa/src/mesa/math/m_debug_norm.c @@ -38,11 +38,6 @@ #include "m_debug_util.h" -#ifdef __UNIXOS2__ -/* The linker doesn't like empty files */ -static char dummy; -#endif - #ifdef DEBUG /* This code only used for debugging */ diff --git a/nx-X11/extras/Mesa/src/mesa/math/m_debug_xform.c b/nx-X11/extras/Mesa/src/mesa/math/m_debug_xform.c index d8250f246..84e11fe34 100644 --- a/nx-X11/extras/Mesa/src/mesa/math/m_debug_xform.c +++ b/nx-X11/extras/Mesa/src/mesa/math/m_debug_xform.c @@ -37,11 +37,6 @@ #include "m_debug.h" #include "m_debug_util.h" -#ifdef __UNIXOS2__ -/* The linker doesn't like empty files */ -static char dummy; -#endif - #ifdef DEBUG /* This code only used for debugging */ diff --git a/nx-X11/include/Xos.h b/nx-X11/include/Xos.h index e79cec662..10b3a225f 100644 --- a/nx-X11/include/Xos.h +++ b/nx-X11/include/Xos.h @@ -246,12 +246,6 @@ typedef unsigned long fd_mask; #endif #endif /* XPG4 else */ -#ifdef __UNIXOS2__ -typedef unsigned long fd_mask; -#include <limits.h> -#define MAX_PATH _POSIX_PATH_MAX -#endif - #ifdef __GNU__ #define PATH_MAX 4096 #define MAXPATHLEN 4096 @@ -269,7 +263,7 @@ typedef unsigned long fd_mask; #define NGROUPS 16 #endif -#if defined(ISC) || defined(__UNIXOS2__) || \ +#if defined(ISC) || \ (defined(__linux__) && !defined(__GLIBC__)) || \ (defined(__QNX__) && !defined(UNIXCONN)) /* diff --git a/nx-X11/include/Xosdefs.h b/nx-X11/include/Xosdefs.h index 3b151199e..ae676f9ff 100644 --- a/nx-X11/include/Xosdefs.h +++ b/nx-X11/include/Xosdefs.h @@ -127,11 +127,6 @@ in this Software without prior written authorization from The Open Group. #define X_NOT_STDC_ENV #endif -#ifdef __UNIXOS2__ -#define USGISH -#define NULL_NOT_ZERO -#endif - #ifdef __DARWIN__ #define NULL_NOT_ZERO #endif diff --git a/nx-X11/lib/X11/CrGlCur.c b/nx-X11/lib/X11/CrGlCur.c index 460660f81..11c047097 100644 --- a/nx-X11/lib/X11/CrGlCur.c +++ b/nx-X11/lib/X11/CrGlCur.c @@ -31,10 +31,6 @@ in this Software without prior written authorization from The Open Group. #ifdef USE_DYNAMIC_XCURSOR -#ifdef __UNIXOS2__ -#define RTLD_LAZY 1 -#define LIBXCURSOR "Xcursor.dll" -#endif #include <stdio.h> #include <string.h> #if defined(hpux) diff --git a/nx-X11/lib/X11/GetDflt.c b/nx-X11/lib/X11/GetDflt.c index f2098dff3..c2cc1da47 100644 --- a/nx-X11/lib/X11/GetDflt.c +++ b/nx-X11/lib/X11/GetDflt.c @@ -184,10 +184,6 @@ XGetDefault( #ifdef WIN32 char *progname2; #endif -#ifdef __UNIXOS2__ - char *progname2; - char *dotpos; -#endif /* * strip path off of program name (XXX - this is OS specific) @@ -198,13 +194,6 @@ XGetDefault( if (progname2 && (!progname || progname < progname2)) progname = progname2; #endif -#ifdef __UNIXOS2__ /* Very similar to WIN32 */ - progname2 = strrchr (prog, '\\'); - if (progname2 && (!progname || progname < progname2)) - progname = progname2; - dotpos = strrchr (prog, '.'); - if (dotpos && (dotpos>progname2)) *dotpos='\0'; -#endif /* We take out the .exe suffix */ if (progname) progname++; diff --git a/nx-X11/lib/X11/Imakefile b/nx-X11/lib/X11/Imakefile index b3fc07adf..69b96314a 100644 --- a/nx-X11/lib/X11/Imakefile +++ b/nx-X11/lib/X11/Imakefile @@ -806,7 +806,7 @@ SRCS3 = \ LockDis.c \ x11_trans.c \ xim_trans.c \ - $(XKBSRCS) $(LCSRCS) $(MISCSRCS) + $(XKBSRCS) $(LCSRCS) OBJS3 = \ Lab.o \ @@ -889,7 +889,7 @@ OBJS3 = \ LockDis.o \ x11_trans.o \ xim_trans.o \ - $(XKBOBJS) $(LCOBJS) $(MISCOBJS) + $(XKBOBJS) $(LCOBJS) SHAREDLCDEPSYMSRCS = XlcDL.c XlcSL.c @@ -1036,14 +1036,6 @@ SHAREDLCOBJS = \ $(SHAREDLCDEPOBJS) \ $(SHAREDI18NSTATICOBJS) -#ifdef OS2Architecture -MISCSRCS = os2Stubs.c -#endif - -#ifdef OS2Architecture -MISCOBJS = os2Stubs.o -#endif - OBJS = $(OBJS1) $(OBJS2) $(OBJS3) EXTRAUNSHAREDOBJS = $(STATICLCOBJS) diff --git a/nx-X11/lib/X11/RdBitF.c b/nx-X11/lib/X11/RdBitF.c index c2316ae0c..319a0ee0b 100644 --- a/nx-X11/lib/X11/RdBitF.c +++ b/nx-X11/lib/X11/RdBitF.c @@ -129,9 +129,6 @@ XReadBitmapFileData ( int hx = -1; /* x hotspot */ int hy = -1; /* y hotspot */ -#ifdef __UNIXOS2__ - filename = __XOS2RedirRoot(filename); -#endif if (!(fstream = fopen(filename, "r"))) return BitmapOpenFailed; diff --git a/nx-X11/lib/X11/SetLocale.c b/nx-X11/lib/X11/SetLocale.c index f4d2aca21..e14fdaef6 100644 --- a/nx-X11/lib/X11/SetLocale.c +++ b/nx-X11/lib/X11/SetLocale.c @@ -99,7 +99,7 @@ _XlcMapOSLocaleName( char *osname, char *siname) { -#if defined(hpux) || defined(CSRG_BASED) || defined(sun) || defined(SVR4) || defined(sgi) || defined(__osf__) || defined(AIXV3) || defined(ultrix) || defined(WIN32) || defined(__UNIXOS2__) || defined(linux) +#if defined(hpux) || defined(CSRG_BASED) || defined(sun) || defined(SVR4) || defined(sgi) || defined(__osf__) || defined(AIXV3) || defined(ultrix) || defined(WIN32) || defined(linux) # ifdef hpux # ifndef _LastCategory /* HPUX 9 and earlier */ @@ -116,7 +116,7 @@ _XlcMapOSLocaleName( # define STARTCHAR '\001' # define ENDCHAR '\001' # else -# if defined(WIN32) || defined(__UNIXOS2__) +# if defined(WIN32) # define SKIPCOUNT 1 # define STARTCHAR '=' # define ENDCHAR ';' diff --git a/nx-X11/lib/X11/WMProps.c b/nx-X11/lib/X11/WMProps.c index 249072936..e77f7ba56 100644 --- a/nx-X11/lib/X11/WMProps.c +++ b/nx-X11/lib/X11/WMProps.c @@ -122,14 +122,6 @@ void XSetWMProperties ( * systems will have to change this. */ char *cp = strrchr (argv[0], '/'); -#ifdef __UNIXOS2__ - char *os2_cp = strrchr (argv[0],'\\'); - char *dot_cp = strrchr (argv[0],'.'); - if (os2_cp && (os2_cp > cp)) { - if(dot_cp && (dot_cp > os2_cp)) *dot_cp = '\0'; - cp=os2_cp; - } -#endif tmp.res_name = (cp ? cp + 1 : argv[0]); } tmp.res_class = classHints->res_class; diff --git a/nx-X11/lib/X11/WrBitF.c b/nx-X11/lib/X11/WrBitF.c index 0b27d5adf..47b47208f 100644 --- a/nx-X11/lib/X11/WrBitF.c +++ b/nx-X11/lib/X11/WrBitF.c @@ -105,9 +105,6 @@ XWriteBitmapFile( else name++; -#ifdef __UNIXOS2__ - filename = (char*)__XOS2RedirRoot(filename); -#endif if (!(stream = fopen(filename, "w"))) return(BitmapOpenFailed); diff --git a/nx-X11/lib/X11/XKBCvt.c b/nx-X11/lib/X11/XKBCvt.c index f4df3fcfc..ded0a3e3a 100644 --- a/nx-X11/lib/X11/XKBCvt.c +++ b/nx-X11/lib/X11/XKBCvt.c @@ -279,11 +279,7 @@ _XkbGetCharset(void) else { struct stat sbuf; FILE *file; -#ifndef __UNIXOS2__ char *cf = CHARSET_FILE; -#else - char *cf = __XOS2RedirRoot(CHARSET_FILE); -#endif #ifndef S_ISREG # define S_ISREG(mode) (((mode) & S_IFMT) == S_IFREG) diff --git a/nx-X11/lib/X11/Xlib.h b/nx-X11/lib/X11/Xlib.h index 1ac1ef181..b68a09f2b 100644 --- a/nx-X11/lib/X11/Xlib.h +++ b/nx-X11/lib/X11/Xlib.h @@ -51,13 +51,9 @@ in this Software without prior written authorization from The Open Group. #ifndef X_WCHAR #include <stddef.h> #else -#ifdef __UNIXOS2__ -#include <stdlib.h> -#else /* replace this with #include or typedef appropriate for your system */ typedef unsigned long wchar_t; #endif -#endif extern int diff --git a/nx-X11/lib/X11/XlibInt.c b/nx-X11/lib/X11/XlibInt.c index 42b928fd5..bae224ee1 100644 --- a/nx-X11/lib/X11/XlibInt.c +++ b/nx-X11/lib/X11/XlibInt.c @@ -169,14 +169,9 @@ extern int _X11TransSocketCongestionChange(XtransConnInfo, int *); #define ECHECK(err) (WSAGetLastError() == err) #define ESET(val) WSASetLastError(val) #else -#ifdef __UNIXOS2__ -#define ECHECK(err) (errno == err) -#define ESET(val) -#else #define ECHECK(err) (errno == err) #define ESET(val) errno = val #endif -#endif #if defined(LOCALCONN) || defined(LACHMAN) #ifdef EMSGSIZE @@ -190,14 +185,6 @@ extern int _X11TransSocketCongestionChange(XtransConnInfo, int *); #endif #endif -#ifdef __UNIXOS2__ -#if !USE_XCB -#define select(n,r,w,x,t) os2ClientSelect(n,r,w,x,t) -#endif /* !USE_XCB */ -#include <limits.h> -#define MAX_PATH _POSIX_PATH_MAX -#endif - #if !USE_XCB #define STARTITERATE(tpvar,type,start,endcond) \ @@ -4054,10 +4041,6 @@ static int AccessFile (path, pathbuf, len_pathbuf, pathret) /* try the places set in the environment */ drive = getenv ("_XBASEDRIVE"); -#ifdef __UNIXOS2__ - if (!drive) - drive = getenv ("X11ROOT"); -#endif if (!drive) drive = "C:"; len = strlen (drive) + strlen (path); @@ -4070,7 +4053,6 @@ static int AccessFile (path, pathbuf, len_pathbuf, pathret) return 1; } -#ifndef __UNIXOS2__ /* one last place to look */ drive = getenv ("HOMEDRIVE"); if (drive) { @@ -4105,7 +4087,6 @@ static int AccessFile (path, pathbuf, len_pathbuf, pathret) } } } -#endif return 0; } diff --git a/nx-X11/lib/X11/Xlibint.h b/nx-X11/lib/X11/Xlibint.h index 932ed745e..c138d6360 100644 --- a/nx-X11/lib/X11/Xlibint.h +++ b/nx-X11/lib/X11/Xlibint.h @@ -1249,12 +1249,6 @@ struct _XConnWatchInfo { /* info from XAddConnectionWatch */ struct _XConnWatchInfo *next; }; -#ifdef __UNIXOS2__ -extern char* __XOS2RedirRoot( - char* -); -#endif - extern int _XTextHeight( XFontStruct* /* font_struct */, _Xconst char* /* string */, diff --git a/nx-X11/lib/X11/Xrm.c b/nx-X11/lib/X11/Xrm.c index 3b90346d8..e3587d021 100644 --- a/nx-X11/lib/X11/Xrm.c +++ b/nx-X11/lib/X11/Xrm.c @@ -305,7 +305,7 @@ typedef unsigned char XrmBits; static XrmBits const xrmtypes[256] = { EOS,0,0,0,0,0,0,0, 0,SPACE,EOL,0,0, -#if defined(WIN32) || defined(__UNIXOS2__) +#if defined(WIN32) EOL, /* treat CR the same as LF, just in case */ #else 0, @@ -1575,10 +1575,6 @@ ReadInFile(_Xconst char *filename) register int fd, size; char * filebuf; -#ifdef __UNIXOS2__ - filename = __XOS2RedirRoot(filename); -#endif - /* * MS-Windows and OS/2 note: Default open mode includes O_TEXT */ @@ -1610,17 +1606,6 @@ ReadInFile(_Xconst char *filename) } size = read (fd, filebuf, size); -#ifdef __UNIXOS2__ - { /* kill CRLF */ - int i,k; - for (i=k=0; i<size; i++) - if (filebuf[i] != 0x0d) { - filebuf[k++] = filebuf[i]; - } - filebuf[k] = 0; - } -#endif - if (size < 0) { close (fd); Xfree(filebuf); diff --git a/nx-X11/lib/X11/cmsColNm.c b/nx-X11/lib/X11/cmsColNm.c index e43a829f2..c6f1e0f31 100644 --- a/nx-X11/lib/X11/cmsColNm.c +++ b/nx-X11/lib/X11/cmsColNm.c @@ -730,9 +730,6 @@ LoadColornameDB(void) if ((pathname = getenv("XCMSDB")) == NULL) { pathname = XCMSDB; } -#ifdef __UNIXOS2__ - pathname = __XOS2RedirRoot(pathname); -#endif length = strlen(pathname); if ((length == 0) || (length >= (BUFSIZ - 5))){ diff --git a/nx-X11/lib/X11/lcDB.c b/nx-X11/lib/X11/lcDB.c index 1111ec955..cc14bed72 100644 --- a/nx-X11/lib/X11/lcDB.c +++ b/nx-X11/lib/X11/lcDB.c @@ -344,15 +344,6 @@ read_line( cur += len; str[cur] = '\0'; -#ifdef __UNIXOS2__ /* Take out carriage returns under OS/2 */ - if (cur>1) { - if (str[cur-2] == '\r' && str[cur-1] == '\n') { - str[cur-2] = '\n'; - str[cur-1] = '\0'; - cur--; - } - } -#endif if (!quoted && cur > 1 && str[cur - 2] == SYM_BACKSLASH && (str[cur - 1] == SYM_NEWLINE || str[cur-1] == SYM_CR)) { /* the line is ended backslash followed by newline. @@ -1286,11 +1277,7 @@ _XlcCreateLocaleDataBase( if (name == NULL) return (XPointer)NULL; -#ifndef __UNIXOS2__ name_q = XrmStringToQuark(name); -#else - name_q = XrmStringToQuark((char*)__XOS2RedirRoot(name)); -#endif for (list = _db_list; list; list = list->next) { if (name_q == list->name_q) { list->ref_count++; diff --git a/nx-X11/lib/X11/lcFile.c b/nx-X11/lib/X11/lcFile.c index eeb6ce312..cf03a90a7 100644 --- a/nx-X11/lib/X11/lcFile.c +++ b/nx-X11/lib/X11/lcFile.c @@ -36,9 +36,6 @@ /************************************************************************/ -#ifdef __UNIXOS2__ -# define seteuid setuid -#endif #define iscomment(ch) ((ch) == '#' || (ch) == '\0') #if defined(WIN32) #define isreadable(f) (_XAccessFile(f)) @@ -46,11 +43,7 @@ #define isreadable(f) ((access((f), R_OK) != -1) ? 1 : 0) #endif -#ifndef __UNIXOS2__ #define LC_PATHDELIM ':' -#else -#define LC_PATHDELIM ';' -#endif #define XLC_BUFSIZE 256 @@ -92,40 +85,7 @@ parse_line( return argc; } -#ifdef __UNIXOS2__ - -/* fg021216: entries in locale files are separated by colons while under - OS/2, path entries are separated by semicolon, so we need two functions */ - -static int -parse_line1( - char *line, - char **argv, - int argsize) -{ - int argc = 0; - char *p = line; - - while (argc < argsize) { - while (isspace(*p)) { - ++p; - } - if (*p == '\0') { - break; - } - argv[argc++] = p; - while (*p != ';' && *p != '\n' && *p != '\0') { - ++p; - } - if (*p == '\0') { - break; - } - *p++ = '\0'; - } - - return argc; -} -#elif defined(WIN32) +#if defined(WIN32) /* this is parse_line but skips drive letters at the beginning of the entry */ static int @@ -160,7 +120,7 @@ parse_line1( return argc; } -#endif /* __UNIXOS2__ */ +#endif /* WIN32 */ /* Splits a colon separated list of directories, and returns the constituent paths (without trailing slash). At most argsize constituents are stored @@ -174,7 +134,7 @@ _XlcParsePath( char *p = path; int n, i; -#if !defined(__UNIXOS2__) && !defined(WIN32) +#if !defined(WIN32) n = parse_line(path, argv, argsize); #else n = parse_line1(path, argv, argsize); @@ -265,11 +225,7 @@ xlocaledir( #endif /* NO_XLOCALEDIR */ if (len < buf_len) -#ifndef __UNIXOS2__ strncpy(p, XLOCALEDIR, buf_len - len); -#else - strncpy(p,__XOS2RedirRoot(XLOCALEDIR), buf_len - len); -#endif buf[buf_len-1] = '\0'; } @@ -343,11 +299,7 @@ xlocalelibdir( #endif /* NO_XLOCALEDIR */ if (len < buf_len) -#ifndef __UNIXOS2__ strncpy(p, XLOCALELIBDIR, buf_len - len); -#else - strncpy(p,__XOS2RedirRoot(XLOCALELIBDIR), buf_len - len); -#endif buf[buf_len-1] = '\0'; } @@ -374,17 +326,6 @@ resolve_name( char *p = buf; int n; char *args[2], *from, *to; -#ifdef __UNIXOS2__ /* Take out CR under OS/2 */ - int len; - - len = strlen(p); - if (len > 1) { - if (*(p+len-2) == '\r' && *(p+len-1) == '\n') { - *(p+len-2) = '\n'; - *(p+len-1) = '\0'; - } - } -#endif while (isspace(*p)) { ++p; } diff --git a/nx-X11/lib/X11/os2Stubs.c b/nx-X11/lib/X11/os2Stubs.c deleted file mode 100644 index 5ffc4824c..000000000 --- a/nx-X11/lib/X11/os2Stubs.c +++ /dev/null @@ -1,428 +0,0 @@ -/* - * (c) Copyright 1996 by Sebastien Marineau and Holger Veit - * <marineau@genie.uottawa.ca> - * <Holger.Veit@gmd.de> - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * HOLGER VEIT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF - * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - * Except as contained in this notice, the name of Sebastien Marineau or Holger Veit - * shall not be used in advertising or otherwise to promote the sale, use or other - * dealings in this Software without prior written authorization from Holger Veit or - * Sebastien Marineau. - * - */ - - -/* A few OS/2 functions needed in the X11 lib. Mainly, the file path redirection - * functions and the "optimized" select() for the clients */ - -#define I_NEED_OS2_H -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif -#include <nx-X11/Xpoll.h> -#include <stdio.h> -#include <sys/errno.h> -#define INCL_DOSSEMAPHORES -#define INCL_DOSNPIPES -#define INCL_DOSMISC -#define INCL_DOSMODULEMGR -#undef BOOL -#undef BYTE -#include <os2.h> -#include <sys/select.h> -#include <sys/time.h> - -char *__XOS2RedirRoot(char *fname) -{ - /* This adds a further redirection by allowing the ProjectRoot - * to be prepended by the content of the envvar X11ROOT. - * This is for the purpose to move the whole X11 stuff to a different - * disk drive. - * The feature was added despite various environment variables - * because not all file opens respect them. - */ - static char redirname[300]; /* enough for long filenames */ - char *root; - - /* if name does not start with /, assume it is not root-based */ - if (fname==0 || !(fname[0]=='/' || fname[0]=='\\')) - return fname; - - root = (char*)getenv("X11ROOT"); - if (root==0 || - (fname[1]==':' && isalpha(fname[0])) || - (strlen(fname)+strlen(root)+2) > 300) - return fname; - sprintf(redirname,"%s%s",root,fname); - return redirname; -} - -char *__XOS2RedirRoot1(char *format, char *arg1, char *arg2, char *arg3) -{ - /* this first constructs a name from a format and up to three - * components, then adds a path - */ - char buf[300]; - sprintf(buf,format,arg1,arg2,arg3); - return __XOS2RedirRoot(buf); -} - -/* This below implements select() for the calls in this file. It has been */ -/* somewhat optimized for improved performance, but assumes a few */ -/* things so it cannot be used as a general select. If both pipes and */ -/* sockets are present, this may call the emx select */ - - -HEV hPipeSem; -HMODULE hmod_so32dll; -static int (*os2_tcp_select)(int*,int,int,int,long); -ULONG os2_get_sys_millis(); -extern int _files[]; - -#define MAX_TCP 256 -/* These lifted from sys/emx.h. Change if that changes there! */ -#define F_SOCKET 0x10000000 -#define F_PIPE 0x20000000 - -struct select_data -{ - fd_set read_copy; - fd_set write_copy; - BOOL have_read; - BOOL have_write; - int tcp_select_mask[MAX_TCP]; - int tcp_emx_handles[MAX_TCP]; - int tcp_select_copy[MAX_TCP]; - int socket_nread; - int socket_nwrite; - int socket_ntotal; - int pipe_ntotal; - int pipe_have_write; - int max_fds; -}; - -int os2ClientSelect(int nfds, fd_set *readfds, fd_set *writefds, - fd_set *exceptfds, struct timeval *timeout) -{ -static BOOL FirstTime=TRUE; -static haveTCPIP=TRUE; -ULONG timeout_ms; -ULONG postCount, start_millis,now_millis; -char faildata[16]; -struct select_data sd; -BOOL any_ready; -int np,ns, i,ready_handles,n; -APIRET rc; - -sd.have_read=FALSE; sd.have_write=FALSE; -sd.socket_nread=0; sd.socket_nwrite=0; sd.socket_ntotal=0; -sd.max_fds=31; ready_handles=0; any_ready=FALSE; -sd.pipe_ntotal=0; sd.pipe_have_write=FALSE; - -if(FirstTime){ - /* First load the so32dll.dll module and get a pointer to the SELECT fn */ - - if((rc=DosLoadModule(faildata,sizeof(faildata),"SO32DLL",&hmod_so32dll))!=0){ - fprintf(stderr, "Could not load module so32dll.dll, rc = %d. Error note %s\n",rc,faildata); - haveTCPIP=FALSE; - } - if((rc = DosQueryProcAddr(hmod_so32dll, 0, "SELECT", (PPFN)&os2_tcp_select))!=0){ - fprintf(stderr, "Could not query address of SELECT, rc = %d.\n",rc); - haveTCPIP=FALSE; - } - /* Call these a first time to set the semaphore */ - rc = DosCreateEventSem(NULL, &hPipeSem, DC_SEM_SHARED, FALSE); - if(rc) { - fprintf(stderr, "Could not create event semaphore, rc=%d\n",rc); - return(-1); - } - rc = DosResetEventSem(hPipeSem, &postCount); - FirstTime = FALSE; -} - -/* Set up the time delay structs */ - - if(timeout!=NULL) { - timeout_ms=timeout->tv_sec*1000+timeout->tv_usec/1000; - } - else { timeout_ms=1000000; } /* This should be large enough... */ - if(timeout_ms>0) start_millis=os2_get_sys_millis(); - -/* Copy the masks */ - {FD_ZERO(&sd.read_copy);} - {FD_ZERO(&sd.write_copy);} - if(readfds!=NULL){ XFD_COPYSET(readfds,&sd.read_copy); sd.have_read=TRUE;} - if(writefds!=NULL) {XFD_COPYSET(writefds,&sd.write_copy);sd.have_write=TRUE;} - -/* And zero the original masks */ - if(sd.have_read){ FD_ZERO(readfds);} - if(sd.have_write) {FD_ZERO(writefds);} - if(exceptfds != NULL) {FD_ZERO(exceptfds);} - -/* Now we parse the fd_sets passed to select and separate pipe/sockets */ - n = os2_parse_select(&sd,nfds); - if(n == -1) { - errno = EBADF; - return (-1); - } - -/* Now we have three cases: either we have sockets, pipes, or both */ -/* We handle all three cases differently to optimize things */ - -/* Case 1: only pipes! */ - if((sd.pipe_ntotal >0) && (!sd.socket_ntotal)){ - np = os2_check_pipes(&sd,readfds,writefds); - if(np > 0){ - return (np); - } - else if (np == -1) { return(-1); } - while(!any_ready){ - rc = DosWaitEventSem(hPipeSem, timeout_ms); - if(rc == 640) { - return(0); - } - if((rc != 0) && (rc != 95)) {errno= EBADF; return(-1);} - np = os2_check_pipes(&sd,readfds,writefds); - if (np > 0){ - return(np); - } - else if (np < 0){ return(-1); } - } - } - -/* Case 2: only sockets. Just let the os/2 tcp select do the work */ - if((sd.socket_ntotal > 0) && (!sd.pipe_ntotal)){ - ns = os2_check_sockets(&sd, readfds, writefds, timeout_ms); - return (ns); - } - -/* Case 3: combination of both */ - if((sd.socket_ntotal > 0) && (sd.pipe_ntotal)){ - np = os2_check_pipes(&sd,readfds,writefds); - if(np > 0){ - any_ready=TRUE; - ready_handles += np; - } - else if (np == -1) { return(-1); } - - ns = os2_check_sockets(&sd,readfds,writefds, 0); - if(ns>0){ - ready_handles+=ns; - any_ready = TRUE; - } - else if (ns == -1) {return(-1);} - - while (!any_ready && timeout_ms){ - - rc = DosWaitEventSem(hPipeSem, 10L); - if(rc == 0){ - np = os2_check_pipes(&sd,readfds,writefds); - if(np > 0){ - ready_handles+=np; - any_ready = TRUE; - } - else if (np == -1) { - return(-1); } - } - - ns = os2_check_sockets(&sd,readfds,writefds,exceptfds, 0); - if(ns>0){ - ready_handles+=ns; - any_ready = TRUE; - } - else if (ns == -1) {return(-1);} - - if (i%8 == 0) { - now_millis = os2_get_sys_millis(); - if((now_millis-start_millis) > timeout_ms) timeout_ms = 0; - } - i++; - } - } - -return(ready_handles); -} - - -ULONG os2_get_sys_millis() -{ - APIRET rc; - ULONG milli; - - rc = DosQuerySysInfo(14, 14, &milli, sizeof(milli)); - if(rc) { - fprintf(stderr,"Bad return code querying the millisecond counter! rc=%d\n",rc); - return(0); - } - return(milli); -} - -int os2_parse_select(sd,nfds) -struct select_data *sd; -int nfds; -{ - int i; - APIRET rc; -/* First we determine up to which descriptor we need to check. */ -/* No need to check up to 256 if we don't have to (and usually we dont...)*/ -/* Note: stuff here is hardcoded for fd_sets which are int[8] as in EMX!!! */ - - if(nfds > sd->max_fds){ - for(i=0;i<((FD_SETSIZE+31)/32);i++){ - if(sd->read_copy.fds_bits[i] || - sd->write_copy.fds_bits[i]) - sd->max_fds=(i*32) +32; - } - } - else { sd->max_fds = nfds; } -/* Check if result is greater than specified in select() call */ - if(sd->max_fds > nfds) sd->max_fds = nfds; - - if (sd->have_read) - { - for (i = 0; i < sd->max_fds; ++i) { - if (FD_ISSET (i, &sd->read_copy)){ - if(_files[i] & F_SOCKET) - { - sd->tcp_select_mask[sd->socket_ntotal]=_getsockhandle(i); - sd->tcp_emx_handles[sd->socket_ntotal]=i; - sd->socket_ntotal++; sd->socket_nread++; - } - else if (_files[i] & F_PIPE) - { - sd -> pipe_ntotal++; - rc = DosSetNPipeSem((HPIPE)i, (HSEM) hPipeSem, i); - if(rc) { fprintf(stderr,"Error SETNPIPE rc = %d\n",rc); return -1;} - } - } - } - } - - if (sd->have_write) - { - for (i = 0; i < sd->max_fds; ++i) { - if (FD_ISSET (i, &sd->write_copy)){ - if(_files[i] & F_SOCKET) - { - sd->tcp_select_mask[sd->socket_ntotal]=_getsockhandle(i); - sd->tcp_emx_handles[sd->socket_ntotal]=i; - sd->socket_ntotal++; sd->socket_nwrite++; - } - else if (_files[i] & F_PIPE) - { - sd -> pipe_ntotal++; - rc = DosSetNPipeSem((HPIPE)i, (HSEM) hPipeSem, i); - if(rc) { fprintf(stderr,"Error SETNPIPE rc = %d\n",rc); return -1;} - sd -> pipe_have_write=TRUE; - } - } - } - } - - -return(sd->socket_ntotal); -} - - -int os2_check_sockets(sd,readfds,writefds) -struct select_data *sd; -fd_set *readfds,*writefds; -{ - int e,i; - int j,n; - memcpy(sd->tcp_select_copy,sd->tcp_select_mask, - sd->socket_ntotal*sizeof(int)); - - e = os2_tcp_select(sd->tcp_select_copy,sd->socket_nread, - sd->socket_nwrite, 0, 0); - - if(e == 0) return(e); -/* We have something ready? */ - if(e>0){ - j = 0; n = 0; - for (i = 0; i < sd->socket_nread; ++i, ++j) - if (sd->tcp_select_copy[j] != -1) - { - FD_SET (sd->tcp_emx_handles[j], readfds); - n ++; - } - for (i = 0; i < sd->socket_nwrite; ++i, ++j) - if (sd->tcp_select_copy[j] != -1) - { - FD_SET (sd->tcp_emx_handles[j], writefds); - n ++; - } - errno = 0; - - return n; - } - if(e<0){ - /*Error -- TODO */ - fprintf(stderr,"Error in server select! e=%d\n",e); - errno = EBADF; - return (-1); - } - } - -/* Check to see if anything is ready on pipes */ - -int os2_check_pipes(sd,readfds,writefds) -struct select_data *sd; -fd_set *readfds,*writefds; -{ -int i,e; -ULONG ulPostCount; -PIPESEMSTATE pipeSemState[128]; -APIRET rc; - e = 0; - rc = DosResetEventSem(hPipeSem,&ulPostCount); - rc = DosQueryNPipeSemState((HSEM) hPipeSem, (PPIPESEMSTATE)&pipeSemState, - sizeof(pipeSemState)); - if(rc) fprintf(stderr,"SELECT: rc from QueryNPipeSem: %d\n",rc); - i=0; - while (pipeSemState[i].fStatus != 0) { - /*fprintf(stderr,"SELECT: sem entry, stat=%d, flag=%d, key=%d,avail=%d\n", - pipeSemState[i].fStatus,pipeSemState[i].fFlag,pipeSemState[i].usKey, - pipeSemState[i].usAvail); */ - if((pipeSemState[i].fStatus == 1) && - (FD_ISSET(pipeSemState[i].usKey,&sd->read_copy))){ - FD_SET(pipeSemState[i].usKey,readfds); - e++; - } - else if((pipeSemState[i].fStatus == 2) && - (FD_ISSET(pipeSemState[i].usKey,&sd->write_copy))){ - FD_SET(pipeSemState[i].usKey,writefds); - e++; - } - else if( (pipeSemState[i].fStatus == 3) && - ( (FD_ISSET(pipeSemState[i].usKey,&sd->read_copy)) || - (FD_ISSET(pipeSemState[i].usKey,&sd->write_copy)) )){ - errno = EBADF; - return (-1); - } - i++; - } /* endwhile */ - /*fprintf(stderr,"Done listing pipe sem entries, total %d entries, total ready entries %d\n",i,e);*/ -errno = 0; -return(e); -} - - - diff --git a/nx-X11/programs/Xserver/Imakefile b/nx-X11/programs/Xserver/Imakefile index 8efbcf14a..9a7462c7a 100644 --- a/nx-X11/programs/Xserver/Imakefile +++ b/nx-X11/programs/Xserver/Imakefile @@ -523,7 +523,7 @@ SUBDIRS = $(STDDIRS) \ $(IPLANDIRS) $(ILBMDIR) \ $(DDXDIRS) $(FBSUBDIR) $(KDRIVEDIRS) $(MIEXTDIRS) -#if defined(ServerToInstall) && !defined(OS2Architecture) +#if defined(ServerToInstall) install:: -(cd $(DESTDIR)$(BINDIR); $(RM) X; $(LN) ServerToInstall X) #endif diff --git a/nx-X11/programs/Xserver/Xext/security.c b/nx-X11/programs/Xserver/Xext/security.c index 6883db5f8..3a638460e 100644 --- a/nx-X11/programs/Xserver/Xext/security.c +++ b/nx-X11/programs/Xserver/Xext/security.c @@ -1481,11 +1481,7 @@ SecurityFreePropertyAccessList(void) } } /* SecurityFreePropertyAccessList */ -#ifndef __UNIXOS2__ #define SecurityIsWhitespace(c) ( (c == ' ') || (c == '\t') || (c == '\n') ) -#else -#define SecurityIsWhitespace(c) ( (c == ' ') || (c == '\t') || (c == '\n') || (c == '\r') ) -#endif static char * SecuritySkipWhitespace( @@ -1774,8 +1770,6 @@ SecurityLoadPropertyAccessList(void) #endif -#ifndef __UNIXOS2__ - #ifdef NXAGENT_SERVER f = Fopen(_NXGetPolicyFilePath(SecurityPolicyFile), "r"); @@ -1786,20 +1780,6 @@ SecurityLoadPropertyAccessList(void) #endif -#else - -#ifdef NXAGENT_SERVER - - f = Fopen((char*)__XOS2RedirRoot( _NXGetPolicyFilePath(SecurityPolicyFile)), "r"); - -#else - - f = Fopen((char*)__XOS2RedirRoot(SecurityPolicyFile), "r"); - -#endif - -#endif - if (!f) { #ifdef NXAGENT_SERVER diff --git a/nx-X11/programs/Xserver/hw/nxagent/Imakefile b/nx-X11/programs/Xserver/hw/nxagent/Imakefile index 7dbcce896..f849c3e5a 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Imakefile +++ b/nx-X11/programs/Xserver/hw/nxagent/Imakefile @@ -6,11 +6,6 @@ NULL = SUBDIRS = compext \ $(NULL) -#ifdef OS2Architecture -SRCS1 = os2Stub.c -OBJS1 = os2Stub.o -#endif - SRCS = \ NXwindow.c \ NXevents.c \ @@ -71,7 +66,6 @@ SRCS = \ stubs.c \ xpstubs.c \ miinitext.c \ - $(SRCS1) \ $(NULL) OBJS = \ @@ -134,7 +128,6 @@ OBJS = \ stubs.o \ xpstubs.o \ miinitext.o \ - $(OBJS1) \ $(NULL) VFBINCLUDES = \ diff --git a/nx-X11/programs/Xserver/hw/nxagent/os2Stub.c b/nx-X11/programs/Xserver/hw/nxagent/os2Stub.c deleted file mode 100644 index 226140dc5..000000000 --- a/nx-X11/programs/Xserver/hw/nxagent/os2Stub.c +++ /dev/null @@ -1,410 +0,0 @@ -/**************************************************************************/ -/* */ -/* Copyright (c) 2001, 2011 NoMachine (http://www.nomachine.com) */ -/* Copyright (c) 2008-2014 Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> */ -/* Copyright (c) 2011-2016 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>*/ -/* Copyright (c) 2014-2016 Mihai Moldovan <ionic@ionic.de> */ -/* Copyright (c) 2014-2016 Ulrich Sibiller <uli42@gmx.de> */ -/* Copyright (c) 2015-2016 Qindel Group (http://www.qindel.com) */ -/* */ -/* NXAGENT, NX protocol compression and NX extensions to this software */ -/* are copyright of the aforementioned persons and companies. */ -/* */ -/* Redistribution and use of the present software is allowed according */ -/* to terms specified in the file LICENSE which comes in the source */ -/* distribution. */ -/* */ -/* All rights reserved. */ -/* */ -/* NOTE: This software has received contributions from various other */ -/* contributors, only the core maintainers and supporters are listed as */ -/* copyright holders. Please contact us, if you feel you should be listed */ -/* as copyright holder, as well. */ -/* */ -/**************************************************************************/ - -/* - * (c) Copyright 1996 by Sebastien Marineau - * <marineau@genie.uottawa.ca> - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * HOLGER VEIT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF - * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - * Except as contained in this notice, the name of Sebastien Marineau shall not be - * used in advertising or otherwise to promote the sale, use or other dealings - * in this Software without prior written authorization from Sebastien Marineau. - * - */ - -/* This below implements select() for calls in nxagent. It has been */ -/* somewhat optimized for improved performance, but assumes a few */ -/* things so it cannot be used as a general select. */ - -#define I_NEED_OS2_H -#include "Xpoll.h" -#include <stdio.h> -#include <sys/select.h> -#include <sys/errno.h> -#include <sys/time.h> -#define INCL_DOSSEMAPHORES -#define INCL_DOSNPIPES -#define INCL_DOSMISC -#define INCL_DOSMODULEMGR -#undef BOOL -#undef BYTE -#include <os2.h> - -HEV hPipeSem; -HMODULE hmod_so32dll; -static int (*os2_tcp_select)(int*,int,int,int,long); -ULONG os2_get_sys_millis(); -extern int _files[]; - -#define MAX_TCP 256 -/* These lifted from sys/emx.h. Change if that changes there! */ -#define F_SOCKET 0x10000000 -#define F_PIPE 0x20000000 - -struct select_data -{ - fd_set read_copy; - fd_set write_copy; - BOOL have_read; - BOOL have_write; - int tcp_select_mask[MAX_TCP]; - int tcp_emx_handles[MAX_TCP]; - int tcp_select_copy[MAX_TCP]; - int socket_nread; - int socket_nwrite; - int socket_ntotal; - int pipe_ntotal; - int pipe_have_write; - int max_fds; -}; - -int os2PseudoSelect(int nfds, fd_set *readfds, fd_set *writefds, - fd_set *exceptfds, struct timeval *timeout) -{ -static BOOL FirstTime=TRUE; -static haveTCPIP=TRUE; -ULONG timeout_ms; -ULONG postCount, start_millis,now_millis; -char faildata[16]; -struct select_data sd; -BOOL any_ready; -int np,ns, i,ready_handles,n; -APIRET rc; - -sd.have_read=FALSE; sd.have_write=FALSE; -sd.socket_nread=0; sd.socket_nwrite=0; sd.socket_ntotal=0; -sd.max_fds=31; ready_handles=0; any_ready=FALSE; -sd.pipe_ntotal=0; sd.pipe_have_write=FALSE; - -if(FirstTime){ - /* First load the so32dll.dll module and get a pointer to the SELECT function */ - - if((rc=DosLoadModule(faildata,sizeof(faildata),"SO32DLL",&hmod_so32dll))!=0){ - fprintf(stderr, "Could not load module so32dll.dll, rc = %d. Error note %s\n",rc,faildata); - haveTCPIP=FALSE; - } - if((rc = DosQueryProcAddr(hmod_so32dll, 0, "SELECT", (PPFN)&os2_tcp_select))!=0){ - fprintf(stderr, "Could not query address of SELECT, rc = %d.\n",rc); - haveTCPIP=FALSE; - } - /* Call these a first time to set the semaphore */ - /* rc = DosCreateEventSem(NULL, &hPipeSem, DC_SEM_SHARED, FALSE); - if(rc) { - fprintf(stderr, "Could not create event semaphore, rc=%d\n",rc); - return(-1); - } - rc = DosResetEventSem(hPipeSem, &postCount); */ /* Done in xtrans code for servers*/ - -fprintf(stderr, "Client select() done first-time stuff, sem handle %d.\n",hPipeSem); - - FirstTime = FALSE; -} - -/* Set up the time delay structs */ - - if(timeout!=NULL) { - timeout_ms=timeout->tv_sec*1000+timeout->tv_usec/1000; - } - else { timeout_ms=1000000; } /* This should be large enough... */ - if(timeout_ms>0) start_millis=os2_get_sys_millis(); - -/* Copy the masks */ - {FD_ZERO(&sd.read_copy);} - {FD_ZERO(&sd.write_copy);} - if(readfds!=NULL){ XFD_COPYSET(readfds,&sd.read_copy); sd.have_read=TRUE;} - if(writefds!=NULL) {XFD_COPYSET(writefds,&sd.write_copy);sd.have_write=TRUE;} - -/* And zero the original masks */ - if(sd.have_read){ FD_ZERO(readfds);} - if(sd.have_write) {FD_ZERO(writefds);} - if(exceptfds != NULL) {FD_ZERO(exceptfds);} - -/* Now we parse the fd_sets passed to select and separate pipe/sockets */ - n = os2_parse_select(&sd,nfds); - if(n == -1) { - errno = EBADF; - return (-1); - } - -/* Now we have three cases: either we have sockets, pipes, or both */ -/* We handle all three cases differently to optimize things */ - -/* Case 1: only pipes! */ - if((sd.pipe_ntotal >0) && (!sd.socket_ntotal)){ - np = os2_check_pipes(&sd,readfds,writefds); - if(np > 0){ - return (np); - } - else if (np == -1) { return(-1); } - while(!any_ready){ - rc = DosWaitEventSem(hPipeSem, timeout_ms); - /* if(rc) fprintf(stderr,"Sem-wait timeout, rc = %d\n",rc); */ - if(rc == 640) { - return(0); - } - if((rc != 0) && (rc != 95)) {errno= EBADF; return(-1);} - np = os2_check_pipes(&sd,readfds,writefds); - if (np > 0){ - return(np); - } - else if (np < 0){ return(-1); } - } - } - -/* Case 2: only sockets. Just let the os/2 tcp select do the work */ - if((sd.socket_ntotal > 0) && (!sd.pipe_ntotal)){ - ns = os2_check_sockets(&sd, readfds, writefds, timeout_ms); - return (ns); - } - -/* Case 3: combination of both */ - if((sd.socket_ntotal > 0) && (sd.pipe_ntotal)){ - np = os2_check_pipes(&sd,readfds,writefds); - if(np > 0){ - any_ready=TRUE; - ready_handles += np; - } - else if (np == -1) { return(-1); } - - ns = os2_check_sockets(&sd,readfds,writefds, 0); - if(ns>0){ - ready_handles+=ns; - any_ready = TRUE; - } - else if (ns == -1) {return(-1);} - - while (!any_ready && timeout_ms){ - - rc = DosWaitEventSem(hPipeSem, 10L); - if(rc == 0){ - np = os2_check_pipes(&sd,readfds,writefds); - if(np > 0){ - ready_handles+=np; - any_ready = TRUE; - } - else if (np == -1) { - return(-1); } - } - - ns = os2_check_sockets(&sd,readfds,writefds,exceptfds, 0); - if(ns>0){ - ready_handles+=ns; - any_ready = TRUE; - } - else if (ns == -1) {return(-1);} - - if (i%8 == 0) { - now_millis = os2_get_sys_millis(); - if((now_millis-start_millis) > timeout_ms) timeout_ms = 0; - } - i++; - } - } - -return(ready_handles); -} - - -ULONG os2_get_sys_millis() -{ - APIRET rc; - ULONG milli; - - rc = DosQuerySysInfo(14, 14, &milli, sizeof(milli)); - if(rc) { - fprintf(stderr,"Bad return code querying the millisecond counter! rc=%d\n",rc); - return(0); - } - return(milli); -} - -int os2_parse_select(sd,nfds) -struct select_data *sd; -int nfds; -{ - int i; - APIRET rc; -/* First we determine up to which descriptor we need to check. */ -/* No need to check up to 256 if we don't have to (and usually we dont...)*/ -/* Note: stuff here is hardcoded for fd_sets which are int[8] as in EMX! */ - - if(nfds > sd->max_fds){ - for(i=0;i<((FD_SETSIZE+31)/32);i++){ - if(sd->read_copy.fds_bits[i] || - sd->write_copy.fds_bits[i]) - sd->max_fds=(i*32) +32; - } - } - else { sd->max_fds = nfds; } -/* Check if result is greater than specified in select() call */ - if(sd->max_fds > nfds) sd->max_fds = nfds; - - if (sd->have_read) - { - for (i = 0; i < sd->max_fds; ++i) { - if (FD_ISSET (i, &sd->read_copy)){ - if(_files[i] & F_SOCKET) - { - sd->tcp_select_mask[sd->socket_ntotal]=_getsockhandle(i); - sd->tcp_emx_handles[sd->socket_ntotal]=i; - sd->socket_ntotal++; sd->socket_nread++; - } - else if (_files[i] & F_PIPE) - { - sd -> pipe_ntotal++; - /* rc = DosSetNPipeSem((HPIPE)i, (HSEM) hPipeSem, i); - if(rc) { fprintf(stderr,"Error SETNPIPE rc = %d\n",rc); return -1;} */ - } - } - } - } - - if (sd->have_write) - { - for (i = 0; i < sd->max_fds; ++i) { - if (FD_ISSET (i, &sd->write_copy)){ - if(_files[i] & F_SOCKET) - { - sd->tcp_select_mask[sd->socket_ntotal]=_getsockhandle(i); - sd->tcp_emx_handles[sd->socket_ntotal]=i; - sd->socket_ntotal++; sd->socket_nwrite++; - } - else if (_files[i] & F_PIPE) - { - sd -> pipe_ntotal++; - /* rc = DosSetNPipeSem((HPIPE)i, (HSEM) hPipeSem, i); - if(rc) { fprintf(stderr,"Error SETNPIPE rc = %d\n",rc); return -1;} */ - sd -> pipe_have_write=TRUE; - } - } - } - } - - -return(sd->socket_ntotal); -} - - -int os2_check_sockets(sd,readfds,writefds) -struct select_data *sd; -fd_set *readfds,*writefds; -{ - int e,i; - int j,n; - memcpy(sd->tcp_select_copy,sd->tcp_select_mask, - sd->socket_ntotal*sizeof(int)); - - e = os2_tcp_select(sd->tcp_select_copy,sd->socket_nread, - sd->socket_nwrite, 0, 0); - - if(e == 0) return(e); -/* We have something ready? */ - if(e>0){ - j = 0; n = 0; - for (i = 0; i < sd->socket_nread; ++i, ++j) - if (sd->tcp_select_copy[j] != -1) - { - FD_SET (sd->tcp_emx_handles[j], readfds); - n ++; - } - for (i = 0; i < sd->socket_nwrite; ++i, ++j) - if (sd->tcp_select_copy[j] != -1) - { - FD_SET (sd->tcp_emx_handles[j], writefds); - n ++; - } - errno = 0; - - return n; - } - if(e<0){ - /*Error -- TODO. EBADF is a good choice for now. */ - fprintf(stderr,"Error in server select! e=%d\n",e); - errno = EBADF; - return (-1); - } - } - -/* Check to see if anything is ready on pipes */ - -int os2_check_pipes(sd,readfds,writefds) -struct select_data *sd; -fd_set *readfds,*writefds; -{ -int i,e; -ULONG ulPostCount; -PIPESEMSTATE pipeSemState[128]; -APIRET rc; - e = 0; - rc = DosResetEventSem(hPipeSem,&ulPostCount); - rc = DosQueryNPipeSemState((HSEM) hPipeSem, (PPIPESEMSTATE)&pipeSemState, - sizeof(pipeSemState)); - if(rc) fprintf(stderr,"SELECT: rc from QueryNPipeSem: %d\n",rc); - i=0; - while (pipeSemState[i].fStatus != 0) { - /*fprintf(stderr,"SELECT: sem entry, stat=%d, flag=%d, key=%d,avail=%d\n", - pipeSemState[i].fStatus,pipeSemState[i].fFlag,pipeSemState[i].usKey, - pipeSemState[i].usAvail); */ - if((pipeSemState[i].fStatus == 1) && - (FD_ISSET(pipeSemState[i].usKey,&sd->read_copy))){ - FD_SET(pipeSemState[i].usKey,readfds); - e++; - } - else if((pipeSemState[i].fStatus == 2) && - (FD_ISSET(pipeSemState[i].usKey,&sd->write_copy))){ - FD_SET(pipeSemState[i].usKey,writefds); - e++; - } - else if( (pipeSemState[i].fStatus == 3) && - ( (FD_ISSET(pipeSemState[i].usKey,&sd->read_copy)) || - (FD_ISSET(pipeSemState[i].usKey,&sd->write_copy)) )){ - errno = EBADF; - /* fprintf(stderr,"Pipe has closed down, fd=%d\n",pipeSemState[i].usKey); */ - return (-1); - } - i++; - } /* endwhile */ - /*fprintf(stderr,"Done listing pipe sem entries, total %d entries, total ready entries %d\n"i,e);*/ -errno = 0; -return(e); -} - diff --git a/nx-X11/programs/Xserver/include/os.h b/nx-X11/programs/Xserver/include/os.h index 268513bfd..881abfccb 100644 --- a/nx-X11/programs/Xserver/include/os.h +++ b/nx-X11/programs/Xserver/include/os.h @@ -263,7 +263,7 @@ void OsBlockSignals (void); void OsReleaseSignals (void); -#if !defined(WIN32) && !defined(__UNIXOS2__) +#if !defined(WIN32) extern int System(char *); extern void * Popen(char *, char *); extern int Pclose(void *); diff --git a/nx-X11/programs/Xserver/include/servermd.h b/nx-X11/programs/Xserver/include/servermd.h index 27b5a8fb9..76f28e9ed 100644 --- a/nx-X11/programs/Xserver/include/servermd.h +++ b/nx-X11/programs/Xserver/include/servermd.h @@ -327,8 +327,6 @@ SOFTWARE. #if (defined(SVR4) && defined(i386)) || \ defined(__alpha__) || defined(__alpha) || \ defined(__i386__) || defined(__i386) || \ - defined(__UNIXOS2__) || \ - defined(__OS2ELF__) || \ defined(__QNX__) || \ defined(__s390x__) || defined(__s390__) diff --git a/nx-X11/programs/Xserver/os/WaitFor.c b/nx-X11/programs/Xserver/os/WaitFor.c index 2858637fa..899b1de0b 100644 --- a/nx-X11/programs/Xserver/os/WaitFor.c +++ b/nx-X11/programs/Xserver/os/WaitFor.c @@ -91,9 +91,6 @@ SOFTWARE. #include <nx-X11/X.h> #include "misc.h" -#ifdef __UNIXOS2__ -#define select(n,r,w,x,t) os2PseudoSelect(n,r,w,x,t) -#endif #include "osdep.h" #include <nx-X11/Xpoll.h> #include "dixstruct.h" diff --git a/nx-X11/programs/Xserver/os/access.c b/nx-X11/programs/Xserver/os/access.c index 5735fd556..c775952e2 100644 --- a/nx-X11/programs/Xserver/os/access.c +++ b/nx-X11/programs/Xserver/os/access.c @@ -1139,9 +1139,6 @@ ResetHosts (char *display) if (fnamelen > sizeof(fname)) FatalError("Display name `%s' is too long\n", display); sprintf(fname, ETC_HOST_PREFIX "%s" ETC_HOST_SUFFIX, display); -#ifdef __UNIXOS2__ - strcpy(fname, (char*)__XOS2RedirRoot(fname)); -#endif /* __UNIXOS2__ */ if ((fd = fopen (fname, "r")) != 0) { @@ -1152,10 +1149,6 @@ ResetHosts (char *display) continue; if ((ptr = strchr(ohostname, '\n')) != 0) *ptr = 0; -#ifdef __UNIXOS2__ - if ((ptr = strchr(ohostname, '\r')) != 0) - *ptr = 0; -#endif hostlen = strlen(ohostname) + 1; for (i = 0; i < hostlen; i++) lhostname[i] = tolower(ohostname[i]); diff --git a/nx-X11/programs/Xserver/os/connection.c b/nx-X11/programs/Xserver/os/connection.c index 9681ced38..e38e94c67 100644 --- a/nx-X11/programs/Xserver/os/connection.c +++ b/nx-X11/programs/Xserver/os/connection.c @@ -107,11 +107,6 @@ SOFTWARE. #include <sys/ioctl.h> #endif -#ifdef __UNIXOS2__ -#define select(n,r,w,x,t) os2PseudoSelect(n,r,w,x,t) -extern __const__ int _nfiles; -#endif - #if defined(TCPCONN) # include <netinet/in.h> # include <arpa/inet.h> @@ -124,21 +119,17 @@ extern __const__ int _nfiles; # ifdef CSRG_BASED # include <sys/param.h> # endif -# ifndef __UNIXOS2__ -# include <netinet/tcp.h> -# endif +# include <netinet/tcp.h> # endif # endif # include <arpa/inet.h> #endif -#if !defined(__UNIXOS2__) #ifndef Lynx #include <sys/uio.h> #else #include <uio.h> #endif -#endif #endif /* WIN32 */ #include "misc.h" #include "osdep.h" @@ -173,9 +164,6 @@ Bool AnyClientsWriteBlocked; /* true if some client blocked on write */ Bool RunFromSmartParent; /* send SIGUSR1 to parent process */ Bool PartialNetwork; /* continue even if unable to bind all addrs */ static Pid_t ParentProcess; -#ifdef __UNIXOS2__ -Pid_t GetPPID(Pid_t pid); -#endif static Bool debug_conns = FALSE; @@ -314,8 +302,6 @@ InitConnectionLimits(void) #ifndef __CYGWIN__ -#ifndef __UNIXOS2__ - #if !defined(XNO_SYSCONF) && defined(_SC_OPEN_MAX) lastfdesc = sysconf(_SC_OPEN_MAX) - 1; #endif @@ -330,10 +316,6 @@ InitConnectionLimits(void) lastfdesc = _NFILE - 1; #endif -#else /* __UNIXOS2__ */ - lastfdesc = _nfiles - 1; -#endif - #endif /* __CYGWIN__ */ /* This is the fallback */ @@ -449,15 +431,6 @@ CreateWellKnownSockets(void) RunFromSmartParent = TRUE; OsSignal(SIGUSR1, handler); ParentProcess = getppid (); -#ifdef __UNIXOS2__ - /* - * fg030505: under OS/2, xinit is not the parent process but - * the "grant parent" process of the server because execvpe() - * presents us an additional process number; - * GetPPID(pid) is part of libemxfix - */ - ParentProcess = GetPPID (ParentProcess); -#endif /* __UNIXOS2__ */ if (RunFromSmartParent) { if (ParentProcess > 1) { kill (ParentProcess, SIGUSR1); diff --git a/nx-X11/programs/Xserver/os/io.c b/nx-X11/programs/Xserver/os/io.c index d184a981c..8439a3edd 100644 --- a/nx-X11/programs/Xserver/os/io.c +++ b/nx-X11/programs/Xserver/os/io.c @@ -70,7 +70,7 @@ SOFTWARE. #include <nx-X11/Xtrans/Xtrans.h> #include <nx-X11/Xmd.h> #include <errno.h> -#if !defined(__UNIXOS2__) && !defined(WIN32) +#if !defined(WIN32) #ifndef Lynx #include <sys/uio.h> #else @@ -92,7 +92,6 @@ CallbackListPtr FlushCallback; /* check for both EAGAIN and EWOULDBLOCK, because some supposedly POSIX * systems are broken and return EWOULDBLOCK when they should return EAGAIN */ -#ifndef __UNIXOS2__ #ifndef WIN32 #if defined(EAGAIN) && defined(EWOULDBLOCK) #define ETEST(err) (err == EAGAIN || err == EWOULDBLOCK) @@ -106,9 +105,6 @@ CallbackListPtr FlushCallback; #else /* WIN32 The socket errorcodes differ from the normal errors*/ #define ETEST(err) (err == EAGAIN || err == WSAEWOULDBLOCK) #endif -#else /* __UNIXOS2__ Writing to full pipes may return ENOSPC */ -#define ETEST(err) (err == EAGAIN || err == EWOULDBLOCK || err == ENOSPC) -#endif Bool CriticalOutputPending; int timesThisConnection = 0; diff --git a/nx-X11/programs/Xserver/os/log.c b/nx-X11/programs/Xserver/os/log.c index e964896d7..d82f545a0 100644 --- a/nx-X11/programs/Xserver/os/log.c +++ b/nx-X11/programs/Xserver/os/log.c @@ -214,9 +214,6 @@ LogInit(const char *fname, const char *backup) sprintf(suffix, backup, display); sprintf(oldLog, "%s%s", logFileName, suffix); free(suffix); -#ifdef __UNIXOS2__ - remove(oldLog); -#endif if (rename(logFileName, oldLog) == -1) { FatalError("Cannot move old log file (\"%s\" to \"%s\"\n", logFileName, oldLog); diff --git a/nx-X11/programs/Xserver/os/oscolor.c b/nx-X11/programs/Xserver/os/oscolor.c index 32f8a4b23..88b243d65 100644 --- a/nx-X11/programs/Xserver/os/oscolor.c +++ b/nx-X11/programs/Xserver/os/oscolor.c @@ -397,7 +397,6 @@ OsInitColors(void) if (!was_here) { -#ifndef __UNIXOS2__ #ifdef NX_TRANS_SOCKET /* * Add the trailing '.txt' if a @@ -418,12 +417,6 @@ OsInitColors(void) strcpy(path, rgbPath); strcat(path, ".txt"); #endif -#else - char *tmp = (char*)__XOS2RedirRoot(rgbPath); - path = (char*)ALLOCATE_LOCAL(strlen(tmp) +5); - strcpy(path, tmp); - strcat(path, ".txt"); -#endif if (!(rgb = fopen(path, "r"))) { #ifdef NX_TRANS_SOCKET @@ -438,11 +431,7 @@ OsInitColors(void) while(fgets(line, sizeof(line), rgb)) { lineno++; -#ifndef __UNIXOS2__ if (sscanf(line,"%d %d %d %[^\n]\n", &red, &green, &blue, name) == 4) -#else - if (sscanf(line,"%d %d %d %[^\n\r]\n", &red, &green, &blue, name) == 4) -#endif { if (red >= 0 && red <= 0xff && green >= 0 && green <= 0xff && diff --git a/nx-X11/programs/Xserver/os/osdep.h b/nx-X11/programs/Xserver/os/osdep.h index 9ad267a36..3215b017e 100644 --- a/nx-X11/programs/Xserver/os/osdep.h +++ b/nx-X11/programs/Xserver/os/osdep.h @@ -91,7 +91,7 @@ SOFTWARE. #if defined(NOFILE) && !defined(NOFILES_MAX) #define OPEN_MAX NOFILE #else -#if !defined(__UNIXOS2__) && !defined(WIN32) +#if !defined(WIN32) #define OPEN_MAX NOFILES_MAX #else #define OPEN_MAX 256 diff --git a/nx-X11/programs/Xserver/os/osinit.c b/nx-X11/programs/Xserver/os/osinit.c index 5f097f89a..81429a462 100644 --- a/nx-X11/programs/Xserver/os/osinit.c +++ b/nx-X11/programs/Xserver/os/osinit.c @@ -133,7 +133,7 @@ OsInit(void) dup2 (fileno (err), 2); fclose (err); } -#if defined(SYSV) || defined(SVR4) || defined(__UNIXOS2__) || defined(WIN32) || defined(__CYGWIN__) +#if defined(SYSV) || defined(SVR4) || defined(WIN32) || defined(__CYGWIN__) { static char buf[BUFSIZ]; setvbuf (stderr, buf, _IOLBF, BUFSIZ); diff --git a/nx-X11/programs/Xserver/os/utils.c b/nx-X11/programs/Xserver/os/utils.c index 9584dadd3..fca5ae2fd 100644 --- a/nx-X11/programs/Xserver/os/utils.c +++ b/nx-X11/programs/Xserver/os/utils.c @@ -318,9 +318,7 @@ OsSignal(sig, handler) * server at a time. This keeps the servers from stomping on each other * if the user forgets to give them different display numbers. */ -#ifndef __UNIXOS2__ #define LOCK_DIR "/tmp" -#endif #define LOCK_TMP_PREFIX "/.tX" #define LOCK_PREFIX "/.X" #define LOCK_SUFFIX "-lock" @@ -330,10 +328,6 @@ OsSignal(sig, handler) #include <sys/param.h> #endif -#ifdef __UNIXOS2__ -#define link rename -#endif - #ifndef PATH_MAX #ifndef Lynx #include <sys/param.h> @@ -372,14 +366,7 @@ LockServer(void) /* * Path names */ -#ifndef __UNIXOS2__ tmppath = LOCK_DIR; -#else - /* OS/2 uses TMP directory, must also prepare for 8.3 names */ - tmppath = getenv("TMP"); - if (!tmppath) - FatalError("No TMP dir found\n"); -#endif sprintf(port, "%d", atoi(display)); len = strlen(LOCK_PREFIX) > strlen(LOCK_TMP_PREFIX) ? strlen(LOCK_PREFIX) : @@ -422,13 +409,11 @@ LockServer(void) if (write(lfd, pid_str, 11) != 11) FatalError("Could not write pid to lock file in %s\n", tmp); -#ifndef __UNIXOS2__ #ifndef USE_CHMOD (void) fchmod(lfd, 0444); #else (void) chmod(tmp, 0444); #endif -#endif (void) close(lfd); /* @@ -507,9 +492,6 @@ UnlockServer(void) if (!StillLocking){ -#ifdef __UNIXOS2__ - (void) chmod(LockFile,S_IREAD|S_IWRITE); -#endif /* __UNIXOS2__ */ (void) unlink(LockFile); } } @@ -928,7 +910,7 @@ ProcessCommandLine(int argc, char *argv[]) #ifdef SERVER_LOCK else if ( strcmp ( argv[i], "-nolock") == 0) { -#if !defined(WIN32) && !defined(__UNIXOS2__) && !defined(__CYGWIN__) +#if !defined(WIN32) && !defined(__CYGWIN__) if (getuid() != 0) ErrorF("Warning: the -nolock option can only be used by root\n"); else @@ -1260,7 +1242,7 @@ ExpandCommandLine(int *pargc, char ***pargv) { int i; -#if !defined(WIN32) && !defined(__UNIXOS2__) && !defined(__CYGWIN__) +#if !defined(WIN32) && !defined(__CYGWIN__) if (getuid() != geteuid()) return; #endif @@ -1609,7 +1591,7 @@ OsReleaseSignals (void) #endif } -#if !defined(WIN32) && !defined(__UNIXOS2__) +#if !defined(WIN32) /* * "safer" versions of system(3), popen(3) and pclose(3) which give up * all privs before running a command. @@ -1964,7 +1946,7 @@ Fclose(void * iop) #endif } -#endif /* !WIN32 && !__UNIXOS2__ */ +#endif /* !WIN32 */ /* diff --git a/nx-X11/programs/Xserver/xkb/ddxConfig.c b/nx-X11/programs/Xserver/xkb/ddxConfig.c index 1ecabd108..2fd5e7610 100644 --- a/nx-X11/programs/Xserver/xkb/ddxConfig.c +++ b/nx-X11/programs/Xserver/xkb/ddxConfig.c @@ -128,9 +128,6 @@ XkbConfigRtrnPtr rtrn; sprintf(buf,"X%s-config%s%s",display,(dName[0]?".":""),dName); } #endif -#ifdef __UNIXOS2__ - strcpy(buf,(char*)__XOS2RedirRoot(buf)); -#endif #ifdef DEBUG ErrorF("Looking for keyboard configuration in %s...",buf); #endif diff --git a/nx-X11/programs/Xserver/xkb/ddxLoad.c b/nx-X11/programs/Xserver/xkb/ddxLoad.c index 53bae44df..89f777d58 100644 --- a/nx-X11/programs/Xserver/xkb/ddxLoad.c +++ b/nx-X11/programs/Xserver/xkb/ddxLoad.c @@ -82,7 +82,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #define POST_ERROR_MSG1 "\"Errors from xkbcomp are not fatal to the X server\"" #define POST_ERROR_MSG2 "\"End of messages from xkbcomp\"" -#if defined(__UNIXOS2__) || defined(WIN32) +#if defined(WIN32) #define PATHSEPARATOR "\\" #else #define PATHSEPARATOR "/" @@ -558,8 +558,6 @@ char *cmd = NULL,file[PATH_MAX],xkm_output_dir[PATH_MAX],*map,*outFile; #endif -#ifndef __UNIXOS2__ - #ifdef NXAGENT_SERVER char *xkbbasedir = _NXGetXkbBasePath(XkbBaseDirectory); char *xkbbindir = _NXGetXkbCompPath(XkbBinDirectory); @@ -568,23 +566,6 @@ char *cmd = NULL,file[PATH_MAX],xkm_output_dir[PATH_MAX],*map,*outFile; char *xkbbindir = XkbBinDirectory; #endif -#else - /* relocate the basedir and replace the slashes with backslashes */ -#ifdef NXAGENT_SERVER - char *xkbbasedir = (char*)__XOS2RedirRoot(_NXGetXkbBasePath(XkbBaseDirectory)); - char *xkbbindir = (char*)__XOS2RedirRoot(_NXGetXkbCompPath(XkbBinDirectory)); -#else - char *xkbbasedir = (char*)__XOS2RedirRoot(XkbBaseDirectory); - char *xkbbindir = (char*)__XOS2RedirRoot(XkbBinDirectory); -#endif - int i; - - for (i=0; i<strlen(xkbbasedir); i++) - if (xkbbasedir[i]=='/') xkbbasedir[i]='\\'; - for (i=0; i<strlen(xkbbindir); i++) - if (xkbbindir[i]=='/') xkbbindir[i]='\\'; -#endif - cmd = Xprintf("\"%s" PATHSEPARATOR "xkbcomp\" -w %d \"-R%s\" -xkm %s%s -em1 %s -emp %s -eml %s keymap/%s \"%s%s.xkm\"", xkbbindir, ((xkbDebugFlags<2)?1:((xkbDebugFlags>10)?10:(int)xkbDebugFlags)), @@ -675,7 +656,6 @@ char tmpname[PATH_MAX]; for xkbcomp. xkbcomp does not read from stdin. */ char *xkmfile = tmpname; #endif -#ifndef __UNIXOS2__ #ifdef NXAGENT_SERVER char *xkbbasedir = _NXGetXkbBasePath(XkbBaseDirectory); char *xkbbindir = _NXGetXkbCompPath(XkbBinDirectory); @@ -683,20 +663,6 @@ char tmpname[PATH_MAX]; char *xkbbasedir = XkbBaseDirectory; char *xkbbindir = XkbBinDirectory; #endif -#else - int i; -#ifdef NXAGENT_SERVER - char *xkbbasedir = (char*)__XOS2RedirRoot(_NXGetXkbBasePath(XkbBaseDirectory)); - char *xkbbindir = (char*)__XOS2RedirRoot(_NXGetXkbCompPath(XkbBinDirectory)); -#else - char *xkbbasedir = (char*)__XOS2RedirRoot(XkbBaseDirectory); - char *xkbbindir = (char*)__XOS2RedirRoot(XkbBinDirectory); -#endif - for (i=0; i<strlen(xkbbasedir); i++) - if (xkbbasedir[i]=='/') xkbbasedir[i]='\\'; - for (i=0; i<strlen(xkbbindir); i++) - if (xkbbindir[i]=='/') xkbbindir[i]='\\'; -#endif buf = Xprintf( "\"%s" PATHSEPARATOR "xkbcomp\" -w %d \"-R%s\" -xkm \"%s\" -em1 %s -emp %s -eml %s \"%s%s.xkm\"", diff --git a/nx-X11/programs/Xserver/xkb/xkbInit.c b/nx-X11/programs/Xserver/xkb/xkbInit.c index 1d8283ffe..42e6812d7 100644 --- a/nx-X11/programs/Xserver/xkb/xkbInit.c +++ b/nx-X11/programs/Xserver/xkb/xkbInit.c @@ -914,7 +914,7 @@ XkbProcessArguments(int argc,char *argv[],int i) } else if (strncmp(argv[i], "-xkbdir", 7) == 0) { if(++i < argc) { -#if !defined(WIN32) && !defined(__UNIXOS2__) && !defined(__CYGWIN__) +#if !defined(WIN32) && !defined(__CYGWIN__) if (getuid() != geteuid()) { LogMessage(X_WARNING, "-xkbdir is not available for setuid X servers\n"); return -1; |