aboutsummaryrefslogtreecommitdiff
path: root/doc/nx-X11_vs_XOrg69_patches/xprintf.c.NX.patch
diff options
context:
space:
mode:
Diffstat (limited to 'doc/nx-X11_vs_XOrg69_patches/xprintf.c.NX.patch')
-rw-r--r--doc/nx-X11_vs_XOrg69_patches/xprintf.c.NX.patch75
1 files changed, 75 insertions, 0 deletions
diff --git a/doc/nx-X11_vs_XOrg69_patches/xprintf.c.NX.patch b/doc/nx-X11_vs_XOrg69_patches/xprintf.c.NX.patch
new file mode 100644
index 000000000..fa0796dc9
--- /dev/null
+++ b/doc/nx-X11_vs_XOrg69_patches/xprintf.c.NX.patch
@@ -0,0 +1,75 @@
+--- ./nx-X11/programs/Xserver/os/xprintf.c.X.original 2015-02-13 14:03:44.792440567 +0100
++++ ./nx-X11/programs/Xserver/os/xprintf.c 2015-02-10 19:13:13.480698017 +0100
+@@ -43,6 +43,63 @@
+ # endif
+ #endif
+
++#ifdef NX_TRANS_SOCKET
++
++#define PANIC
++#define WARNING
++#undef TEST
++#undef DEBUG
++
++#define START_SIZE 256
++#define END_SIZE 2048
++
++char *
++Xvprintf(const char *format, va_list va)
++{
++ char *ret;
++ char *newret;
++ int size;
++ int r;
++
++ size = 0;
++
++ for (;;)
++ {
++ if (size == 0)
++ {
++ ret = (char *)malloc(START_SIZE);
++ if (ret == NULL)
++ return NULL;
++ size = START_SIZE;
++ }
++ else if (size < END_SIZE &&
++ (newret = (char *) realloc(ret, 2 * size)) != NULL)
++ {
++ ret = newret;
++ size = 2 * size;
++ }
++ else
++ {
++ free(ret);
++ return NULL;
++ }
++
++ r = vsnprintf(ret, size, format, va);
++
++ if (r == -1 || r == size || r > size || r == size - 1)
++ {
++ continue;
++ }
++ else
++ {
++ ret[r] = 0;
++ return ret;
++ }
++ }
++}
++
++#else
++
+ char *
+ Xvprintf(const char *format, va_list va)
+ {
+@@ -63,6 +120,8 @@
+ return ret;
+ }
+
++#endif
++
+ char *Xprintf(const char *format, ...)
+ {
+ char *ret;