vcpkg/ports/libx11/cl.build.patch
Alexander Neumann 552f1ee5f8
[Part1|xwindow PR] Split up to dbus (#22642)
* first batch of xwindow PR ports - up to dbus

* first batch of xwindow PR ports - up to dbus

* format manifest

* version stuff

* remove if block

* version stuff

* fix xcb hash

* fix xproto dependency on meson blocking cross builds

* adjust message

* use X11_xcb_LIB

* version stuff

* put xlib arm64-windows on baseline

* fix dbus on osx and linux

* version stuff

* forget to set the value

* fix --export-dynamic on osx

* version dbus

* ci-retrigger

* add license (needs tool update)

* version adjustments

* version update

* remove unnecessary comments

* v db

* Apply suggestions from code review

Co-authored-by: Billy O'Neal <bion@microsoft.com>

* nitpicks

* rename xau to libxau

* use vcpkg_install_copyright and silence usage

* xtrans silence usage

* format-manifest

* v db

* make license null for ports without exact match

* xdmcp rename to libxdmcp

* merge x11 wrapper into xlib
rename xlib to libx11 to avoid a metaport

* v db

* missed dbus depending on x11.

* v db

* Update scripts/ci.baseline.txt

Co-authored-by: LilyWangLL <94091114+LilyWangLL@users.noreply.github.com>
Co-authored-by: Alexander Neumann <you@example.com>
Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
Co-authored-by: Billy O'Neal <bion@microsoft.com>
2022-08-22 12:26:13 -07:00

148 lines
3.9 KiB
Diff

diff --git a/include/X11/Xlibint.h b/include/X11/Xlibint.h
index 844571688..e46c4ec5d 100644
--- a/include/X11/Xlibint.h
+++ b/include/X11/Xlibint.h
@@ -1351,11 +1351,14 @@ extern int _XOpenFile(
int /* flags */
);
+#if defined(_MSC_VER) && !defined(mode_t)
+typedef int mode_t;
+#endif
extern int _XOpenFileMode(
_Xconst char* /* path */,
int /* flags */,
mode_t /* mode */
);
extern void* _XFopenFile(
_Xconst char* /* path */,
diff --git a/modules/im/ximcp/imLcLkup.c b/modules/im/ximcp/imLcLkup.c
index 56dba9673..d10de825e 100644
--- a/modules/im/ximcp/imLcLkup.c
+++ b/modules/im/ximcp/imLcLkup.c
@@ -61,27 +61,37 @@ _XimLocalMbLookupString(XIC xic, XKeyEvent *ev, char *buffer, int bytes,
||(ic->private.local.brl_committed != 0))) {
if (ic->private.local.brl_committed != 0) { /* Braille Event */
unsigned char pattern = ic->private.local.brl_committed;
+#ifndef _MSC_VER
char mb2[XLC_PUBLIC(ic->core.im->core.lcd, mb_cur_max)];
+#else
+ char *mb2 = (char*)malloc(XLC_PUBLIC(ic->core.im->core.lcd, mb_cur_max)*sizeof(char));
+#endif
ret = _Xlcwctomb(ic->core.im->core.lcd, mb2, BRL_UC_ROW | pattern);
if(ret > bytes) {
if(status) *status = XBufferOverflow;
+#ifdef _MSC_VER
+ free(mb2);
+#endif
return(ret);
}
if(keysym) *keysym = XK_braille_blank | pattern;
if(ret > 0) {
if (keysym) {
if(status) *status = XLookupBoth;
} else {
if(status) *status = XLookupChars;
}
memcpy(buffer, mb2, ret);
} else {
if(keysym) {
if(status) *status = XLookupKeySym;
} else {
if(status) *status = XLookupNone;
}
}
+#ifdef _MSC_VER
+ free(mb2);
+#endif
} else { /* Composed Event */
ret = strlen(&mb[b[ic->private.local.composed].mb]);
if(ret > bytes) {
diff --git a/src/XlibInt.c b/src/XlibInt.c
index e4fb4e5f2..4cfa1aeab 100644
--- a/src/XlibInt.c
+++ b/src/XlibInt.c
@@ -60,6 +60,8 @@ from The Open Group.
/* Needed for ioctl() on Solaris */
#ifdef HAVE_UNISTD_H
#include <unistd.h>
+#else
+ #define F_OK 0
#endif
#ifdef XTHREADS
@@ -985,7 +987,7 @@ _XWireToEvent(
case KeymapNotify:
{
register XKeymapEvent *ev = (XKeymapEvent *) re;
- ev->window = None;
+ ev->window = 0;
memcpy(&ev->key_vector[1],
(char *)((xKeymapEvent *) event)->map,
sizeof (((xKeymapEvent *) event)->map));
@@ -1919,7 +1925,11 @@ int _XOpenFileMode(path, flags, mode)
UINT olderror = SetErrorMode (SEM_FAILCRITICALERRORS);
if (AccessFile (path, buf, MAX_PATH, &bufp))
+#ifndef _MSC_VER
ret = open (bufp, flags, mode);
+#else
+ ret = _open (bufp, flags, mode);
+#endif
(void) SetErrorMode (olderror);
diff --git a/src/xlibi18n/XDefaultOMIF.c b/src/xlibi18n/XDefaultOMIF.c
index 9345547c3..77d914fe1 100644
--- a/src/xlibi18n/XDefaultOMIF.c
+++ b/src/xlibi18n/XDefaultOMIF.c
@@ -70,6 +70,14 @@ Sun Microsystems, Inc. or its licensors is granted.
#include <X11/Xatom.h>
#include <stdio.h>
+#if !defined(ssize_t)
+ #ifdef _WIN64
+ #define ssize_t long long
+ #else
+ #define ssize_t long
+ #endif
+#endif
+
#define MAXFONTS 100
#define XOM_GENERIC(om) (&((XOMGeneric) om)->gen)
diff --git a/src/xlibi18n/lcDB.c b/src/xlibi18n/lcDB.c
index e04a5d89f..fa46f8ecc 100644
--- a/src/xlibi18n/lcDB.c
+++ b/src/xlibi18n/lcDB.c
@@ -65,6 +65,14 @@
#include <stdio.h>
+#if !defined(ssize_t)
+ #ifdef _WIN64
+ #define ssize_t long long
+ #else
+ #define ssize_t long
+ #endif
+#endif
+
typedef struct _DatabaseRec {
char *category;
char *name;
diff --git a/src/xlibi18n/lcFile.c b/src/xlibi18n/lcFile.c
index e43ac2c0e..d9f49b725 100644
--- a/src/xlibi18n/lcFile.c
+++ b/src/xlibi18n/lcFile.c
@@ -32,7 +32,9 @@
#include "Xlibint.h"
#include "XlcPubI.h"
#include <X11/Xos.h>
+#ifdef HAVE_UNISTD_H
#include <unistd.h>
+#endif
/************************************************************************/