summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKean Johnson <kean@armory.com>2005-06-10 06:54:02 +0000
committerKean Johnson <kean@armory.com>2005-06-10 06:54:02 +0000
commit0b920c0450608e770ee26cc7cb1d59ba8992dbe4 (patch)
tree0bcdf9b69ea1967bd6d2b31cd373de5f382501b5
parent1a0de49da1274882bab05b0f7240936b37955e5c (diff)
downloadxorg-lib-libX11-sco_port_update.tar.gz
SCO port update for SCO OpenServer 5 and UnixWare 7. A few general cleanups and bugs not specifically related to the port fixed along the way.sco_port_update
-rw-r--r--include/X11/Xlib.h28
-rw-r--r--src/XKeysymDB17
-rw-r--r--src/locking.c23
3 files changed, 50 insertions, 18 deletions
diff --git a/include/X11/Xlib.h b/include/X11/Xlib.h
index 1cae2afc..d798dac1 100644
--- a/include/X11/Xlib.h
+++ b/include/X11/Xlib.h
@@ -1,4 +1,4 @@
-/* $XdotOrg: lib/X11/include/X11/Xlib.h,v 1.4 2005-05-17 08:10:10 eich Exp $ */
+/* $XdotOrg: lib/X11/include/X11/Xlib.h,v 1.3.4.1 2005-06-10 06:54:02 jkj Exp $ */
/* $Xorg: Xlib.h,v 1.6 2001/02/09 02:03:38 xorgcvs Exp $ */
/*
@@ -53,7 +53,7 @@ in this Software without prior written authorization from The Open Group.
#endif
#endif /* USG */
-#if defined(SCO325) || defined(__USLC__)
+#if defined(__SCO__) || defined(__UNIXWARE__)
#include <stdint.h>
#endif
@@ -65,13 +65,11 @@ in this Software without prior written authorization from The Open Group.
#ifndef X_WCHAR
#ifdef X_NOT_STDC_ENV
-#ifndef SCO324
#ifndef ISC
#define X_WCHAR
#endif
#endif
#endif
-#endif
#ifndef X_WCHAR
#include <stddef.h>
@@ -3572,12 +3570,12 @@ extern Status XCloseOM(
extern char *XSetOMValues(
XOM /* om */,
...
-) _X_SENTINEL(0);
+);
extern char *XGetOMValues(
XOM /* om */,
...
-) _X_SENTINEL(0);
+);
extern Display *XDisplayOfOM(
XOM /* om */
@@ -3590,7 +3588,7 @@ extern char *XLocaleOfOM(
extern XOC XCreateOC(
XOM /* om */,
...
-) _X_SENTINEL(0);
+);
extern void XDestroyOC(
XOC /* oc */
@@ -3603,12 +3601,12 @@ extern XOM XOMOfOC(
extern char *XSetOCValues(
XOC /* oc */,
...
-) _X_SENTINEL(0);
+);
extern char *XGetOCValues(
XOC /* oc */,
...
-) _X_SENTINEL(0);
+);
extern XFontSet XCreateFontSet(
Display* /* display */,
@@ -3840,11 +3838,11 @@ extern Status XCloseIM(
extern char *XGetIMValues(
XIM /* im */, ...
-) _X_SENTINEL(0);
+);
extern char *XSetIMValues(
XIM /* im */, ...
-) _X_SENTINEL(0);
+);
extern Display *XDisplayOfIM(
XIM /* im */
@@ -3856,7 +3854,7 @@ extern char *XLocaleOfIM(
extern XIC XCreateIC(
XIM /* im */, ...
-) _X_SENTINEL(0);
+);
extern void XDestroyIC(
XIC /* ic */
@@ -3884,11 +3882,11 @@ extern char *Xutf8ResetIC(
extern char *XSetICValues(
XIC /* ic */, ...
-) _X_SENTINEL(0);
+);
extern char *XGetICValues(
XIC /* ic */, ...
-) _X_SENTINEL(0);
+);
extern XIM XIMOfIC(
XIC /* ic */
@@ -3928,7 +3926,7 @@ extern int Xutf8LookupString(
extern XVaNestedList XVaCreateNestedList(
int /*unused*/, ...
-) _X_SENTINEL(0);
+);
/* internal connections for IMs */
diff --git a/src/XKeysymDB b/src/XKeysymDB
index f1469505..114acaf6 100644
--- a/src/XKeysymDB
+++ b/src/XKeysymDB
@@ -352,3 +352,20 @@ usldead_asciicircum :100000AA
usldead_asciitilde :100000AC
usldead_cedilla :1000FE2C
usldead_ring :1000FEB0
+
+scodead_grave :FE50
+scodead_acute :FE51
+scodead_circumflex :FE52
+scodead_tilde :FE53
+scodead_macron :FE54
+scodead_breve :FE55
+scodead_abovedot :FE56
+scodead_diaeresis :FE57
+scodead_abovering :FE58
+scodead_doubleacute :FE59
+scodead_caron :FE5A
+scodead_cedilla :FE5B
+scodead_ogonek :FE5C
+scodead_iota :FE5D
+scodead_voiced_sound :FE5E
+scodead_semivoiced_sound :FE5F
diff --git a/src/locking.c b/src/locking.c
index 5312b5d2..7a2369dd 100644
--- a/src/locking.c
+++ b/src/locking.c
@@ -32,9 +32,6 @@ in this Software without prior written authorization from The Open Group.
* locking.c - multi-thread locking routines implemented in C Threads
*/
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
#include "Xlibint.h"
#undef _XLockMutex
#undef _XUnlockMutex
@@ -43,6 +40,10 @@ in this Software without prior written authorization from The Open Group.
#ifdef XTHREADS
+#ifdef __UNIXWARE__
+#include <dlfcn.h>
+#endif
+
#include "locking.h"
#ifdef XTHREADS_WARN
#include <stdio.h> /* for warn/debug stuff */
@@ -587,11 +588,27 @@ static int _XInitDisplayLock(
return 0;
}
+#ifdef __UNIXWARE__
+xthread_t __x11_thr_self() { return 0; }
+xthread_t (*_x11_thr_self)() = __x11_thr_self;
+#endif
+
Status XInitThreads()
{
if (_Xglobal_lock)
return 1;
+#ifdef __UNIXWARE__
+ else {
+ void *dl_handle = dlopen(NULL, RTLD_LAZY);
+ if (!dl_handle ||
+ ((_x11_thr_self = (xthread_t(*)())dlsym(dl_handle,"thr_self")) == 0)) {
+ _x11_thr_self = __x11_thr_self;
+ (void) fprintf (stderr,
+ "XInitThreads called, but no libthread in the calling program!\n" );
+ }
+ }
+#endif /* __UNIXWARE__ */
#ifdef xthread_init
xthread_init(); /* return value? */
#endif