From 61c7fdf789e74f185d2a8111578a218b94d24b63 Mon Sep 17 00:00:00 2001 From: Matthieu Herrb Date: Sun, 4 Aug 2019 13:34:56 +0000 Subject: Update to libX11 1.6.8 riding the major bump caused by xtrans 1.4.0 --- lib/libX11/ChangeLog | 531 +++++++++++++++++++ lib/libX11/Makefile.am | 2 + lib/libX11/Makefile.in | 4 +- lib/libX11/README | 40 -- lib/libX11/README.md | 33 ++ lib/libX11/aclocal.m4 | 219 +++++--- lib/libX11/compile | 8 +- lib/libX11/configure | 271 +++++++++- lib/libX11/configure.ac | 15 +- lib/libX11/include/Makefile.in | 1 + lib/libX11/man/Compose.man | 2 +- lib/libX11/man/Makefile.in | 1 + lib/libX11/man/XrmGetFileDatabase.man | 2 +- lib/libX11/man/xkb/Makefile.am | 2 +- lib/libX11/man/xkb/Makefile.in | 3 +- lib/libX11/man/xkb/XkbAllocGeomOverlayKey.man | 64 --- lib/libX11/man/xkb/XkbAllocGeomOverlayKeys.man | 64 +++ lib/libX11/man/xkb/XkbBell.man | 2 +- lib/libX11/man/xkb/XkbBellEvent.man | 2 +- lib/libX11/man/xkb/XkbDeviceBell.man | 2 +- lib/libX11/man/xkb/XkbDeviceBellEvent.man | 2 +- lib/libX11/man/xkb/XkbForceBell.man | 2 +- lib/libX11/man/xkb/XkbForceDeviceBell.man | 2 +- lib/libX11/modules/Makefile.in | 1 + lib/libX11/modules/im/Makefile.in | 1 + lib/libX11/modules/im/ximcp/Makefile.in | 1 + lib/libX11/modules/im/ximcp/imDefIm.c | 6 +- lib/libX11/modules/im/ximcp/imLcFlt.c | 1 + lib/libX11/modules/lc/Makefile.in | 1 + lib/libX11/modules/lc/Utf8/Makefile.in | 1 + lib/libX11/modules/lc/def/Makefile.in | 1 + lib/libX11/modules/lc/gen/Makefile.in | 1 + lib/libX11/modules/lc/xlocale/Makefile.am | 35 -- lib/libX11/modules/lc/xlocale/Makefile.in | 708 ------------------------- lib/libX11/modules/om/Makefile.in | 1 + lib/libX11/modules/om/generic/Makefile.in | 1 + lib/libX11/nls/Makefile.in | 1 + lib/libX11/nls/compose.dir.pre | 3 + lib/libX11/nls/en_US.UTF-8/Compose.pre | 8 + lib/libX11/nls/locale.alias.pre | 10 + lib/libX11/nls/locale.dir.pre | 4 +- lib/libX11/specs/Makefile.in | 1 + lib/libX11/specs/XIM/Makefile.in | 1 + lib/libX11/specs/XKB/Makefile.in | 1 + lib/libX11/specs/XKB/ch13.xml | 12 +- lib/libX11/specs/i18n/Makefile.in | 1 + lib/libX11/specs/i18n/compose/Makefile.in | 1 + lib/libX11/specs/i18n/framework/Makefile.in | 1 + lib/libX11/specs/i18n/localedb/Makefile.in | 1 + lib/libX11/specs/i18n/trans/Makefile.in | 1 + lib/libX11/specs/libX11/AppC.xml | 23 +- lib/libX11/specs/libX11/Makefile.in | 1 + lib/libX11/src/CopyCmap.c | 6 +- lib/libX11/src/CrCmap.c | 6 +- lib/libX11/src/Depths.c | 3 +- lib/libX11/src/FSWrap.c | 5 +- lib/libX11/src/Font.c | 16 +- lib/libX11/src/FontInfo.c | 13 +- lib/libX11/src/FontNames.c | 3 +- lib/libX11/src/FreeCmap.c | 6 +- lib/libX11/src/GetAtomNm.c | 6 +- lib/libX11/src/GetFPath.c | 3 +- lib/libX11/src/GetMoEv.c | 3 +- lib/libX11/src/GetPntMap.c | 4 +- lib/libX11/src/GetRGBCMap.c | 3 +- lib/libX11/src/LiICmaps.c | 4 +- lib/libX11/src/LiProps.c | 4 +- lib/libX11/src/ListExt.c | 3 +- lib/libX11/src/Makefile.am | 6 +- lib/libX11/src/Makefile.in | 85 +-- lib/libX11/src/ModMap.c | 3 +- lib/libX11/src/PixFormats.c | 3 +- lib/libX11/src/PolyReg.c | 5 +- lib/libX11/src/PutImage.c | 5 +- lib/libX11/src/QuColors.c | 5 +- lib/libX11/src/QuTree.c | 4 +- lib/libX11/src/Quarks.c | 13 +- lib/libX11/src/RdBitF.c | 6 +- lib/libX11/src/Region.c | 11 +- lib/libX11/src/SetHints.c | 7 +- lib/libX11/src/SetRGBCMap.c | 7 +- lib/libX11/src/TextToStr.c | 4 +- lib/libX11/src/VisUtil.c | 8 +- lib/libX11/src/WrBitF.c | 3 +- lib/libX11/src/XlibInt.c | 81 ++- lib/libX11/src/config.h.in | 29 + lib/libX11/src/reallocarray.c | 43 ++ lib/libX11/src/reallocarray.h | 44 ++ lib/libX11/src/util/Makefile.am | 4 +- lib/libX11/src/util/Makefile.in | 7 +- lib/libX11/src/util/makekeys.c | 13 +- lib/libX11/src/xcms/CvCols.c | 5 +- lib/libX11/src/xcms/Makefile.in | 1 + lib/libX11/src/xcms/StCols.c | 5 +- lib/libX11/src/xcms/cmsColNm.c | 11 + lib/libX11/src/xcms/cmsInt.c | 5 +- lib/libX11/src/xkb/Makefile.am | 1 + lib/libX11/src/xkb/Makefile.in | 2 + lib/libX11/src/xkb/XKBAlloc.c | 65 +-- lib/libX11/src/xkb/XKBGetMap.c | 21 +- lib/libX11/src/xkb/XKBMAlloc.c | 104 +--- lib/libX11/src/xkb/XKBNames.c | 10 +- lib/libX11/src/xkb/XKBlibint.h | 22 +- lib/libX11/src/xlibi18n/ICWrap.c | 3 +- lib/libX11/src/xlibi18n/Makefile.in | 1 + lib/libX11/src/xlibi18n/XDefaultIMIF.c | 3 +- lib/libX11/src/xlibi18n/XlcDL.c | 8 +- lib/libX11/src/xlibi18n/lcCharSet.c | 4 +- lib/libX11/src/xlibi18n/lcDB.c | 3 +- lib/libX11/src/xlibi18n/lcGeneric.c | 27 +- lib/libX11/src/xlibi18n/lcPrTxt.c | 7 +- lib/libX11/src/xlibi18n/lcWrap.c | 5 +- 112 files changed, 1592 insertions(+), 1308 deletions(-) delete mode 100644 lib/libX11/README create mode 100644 lib/libX11/README.md delete mode 100644 lib/libX11/man/xkb/XkbAllocGeomOverlayKey.man create mode 100644 lib/libX11/man/xkb/XkbAllocGeomOverlayKeys.man delete mode 100644 lib/libX11/modules/lc/xlocale/Makefile.am delete mode 100644 lib/libX11/modules/lc/xlocale/Makefile.in create mode 100644 lib/libX11/src/reallocarray.c create mode 100644 lib/libX11/src/reallocarray.h diff --git a/lib/libX11/ChangeLog b/lib/libX11/ChangeLog index 91822ba6d..3ab204490 100644 --- a/lib/libX11/ChangeLog +++ b/lib/libX11/ChangeLog @@ -1,3 +1,534 @@ +commit 57f0d421a1320090d3a4948181fe228d86cc8977 +Author: Matt Turner +Date: Mon Jun 17 10:45:45 2019 -0400 + + libX11 1.6.8 + + Signed-off-by: Matt Turner + +commit 5464b302bc0c4a055d3eac06c6ab15e209ff7668 +Author: Matt Turner +Date: Sun Jun 9 14:00:15 2019 -0700 + + Use AC_SYS_LARGEFILE + + ... and include config.h in makekeys.c to get the definition of + _FILE_OFFSET_BITS. Without it, libX11 can fail to build on a file + system with 64-bit inode numbers. + + Bug: https://bugs.gentoo.org/550502 + Bug: https://bugs.gentoo.org/616140 + Signed-off-by: Matt Turner + +commit 33b9148a833ab2ea46e44871da3c031bf1b78f77 +Author: Ran Benita +Date: Thu Feb 13 20:55:08 2014 +0200 + + Compose.man: fix escaped hexadecimal char description + + The man page says: + Strings may be direct text encoded in the locale for which the + compose file is to be used, or an escaped octal or hexadecimal + character code. Octal codes are specified as "\123" and + hexadecimal codes as "\0x123a". + + But the grammar in the parser and the implementation say: + ESCAPED_CHAR ::= ('\\' | '\"' | OCTAL | HEX ) + HEX ::= '\' (x|X) HEX_CHAR [HEX_CHAR]] + HEX_CHAR ::= (0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F|a|b|c|d|e|f) + + So "\0x123a" -> "\x3a". + + Signed-off-by: Ran Benita + Signed-off-by: Alan Coopersmith + +commit d9b2cc35edf01e4f751a9ccb5ac185745184cec0 +Author: ojab +Date: Mon Apr 24 20:12:17 2017 +0000 + + Compose sequences for rouble sign + + Cyrillic combinations mirror the Qwerty-Jcuken keyboard layout. + + Signed-off-by: Slava Kardakov + Signed-off-by: Alan Coopersmith + +commit 3f211616f6414bd9958566c0ca137e87a2b6df95 +Author: Pavel Labath +Date: Fri Nov 30 20:45:04 2012 +0100 + + Fix a leak in XCreateFontSet + + a simple snippet like XFreeFontSet(d, XCreateFontSet(d, ...)) will generate lots of memory leaks, + as evidenced by the following valgrind output: + ==983== HEAP SUMMARY: + ==983== in use at exit: 39,409 bytes in 341 blocks + ==983== total heap usage: 4,795 allocs, 4,454 frees, 489,086 bytes allocated + ==983== + ==983== 1,688 (136 direct, 1,552 indirect) bytes in 1 blocks are definitely lost in loss record + 40 of 46 + ==983== at 0x4C2B042: realloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) + ==983== by 0x56D5A93: add_codeset.clone.9 (in /usr/lib64/libX11.so.6.3.0) + ==983== by 0x56D5FE0: load_generic (in /usr/lib64/libX11.so.6.3.0) + ==983== by 0x56D7612: initialize (in /usr/lib64/libX11.so.6.3.0) + ==983== by 0x56D7E75: _XlcCreateLC (in /usr/lib64/libX11.so.6.3.0) + ==983== by 0x56F9A5F: _XlcUtf8Loader (in /usr/lib64/libX11.so.6.3.0) + ==983== by 0x56DF815: _XOpenLC (in /usr/lib64/libX11.so.6.3.0) + ==983== by 0x56B255A: XOpenOM (in /usr/lib64/libX11.so.6.3.0) + ==983== by 0x56A665A: XCreateFontSet (in /usr/lib64/libX11.so.6.3.0) + ==983== by 0x4FCA80: conky::x11_output::create_gc() (x11.cc:746) + ==983== by 0x4FC3B4: conky::x11_output::use_own_window() (x11.cc:602) + ==983== by 0x4FAD42: conky::priv::own_window_setting::set(bool const&, bool) (x11.cc:92) + ==983== + ==983== LEAK SUMMARY: + ==983== definitely lost: 136 bytes in 1 blocks + ==983== indirectly lost: 1,552 bytes in 34 blocks + ==983== possibly lost: 0 bytes in 0 blocks + ==983== still reachable: 37,721 bytes in 306 blocks + ==983== suppressed: 0 bytes in 0 blocks + + This patch makes the leak dissappear (Well, at least the "definitely lost part". The "still + reachable" thingy remains). After some analysis, I've discovered that the XLCd structure is + destroyed improperly. The "constructor" is in lcGeneric.c, but the structure is destroyed using + code from lcPublic.c. I've found that changing the destructor call to _XlcDestroyLC executes the + correct code path, and I'm pretty sure this is correct (the object was constructed using + _XlcCreateLC, it make sense to destroy it using its conterpart). + + So far I haven't observed any strange behaviour on my system caused by this change (although, I'm + not sure, how many programs actually use this function). + + Signed-off-by: Pavel Labath + Signed-off-by: Alan Coopersmith + +commit 4645e219133458781e3fb48eaea6a74cccb1b9aa +Author: Jon Turney +Date: Tue Apr 30 14:39:06 2019 +0100 + + Avoid using libtool wrapper for makekeys + + For Windows targets, libtool uses a wrapper executable, not a wrapper + script (see [1]), which it compiles with the host compiler. This + doesn't work when cross-compiling. + + Since we don't actually need to link with anything, use the libtool flag + -all-static to tell it to stay completely out of this. + + [1] https://www.gnu.org/software/libtool/manual/html_node/Wrapper-executables.html + +commit 6886d9ba06826785a8ccb312c04ea82b91bb6a25 +Author: Jon Turney +Date: Wed Apr 24 12:50:41 2019 +0100 + + Use EXEEXT_FOR_BUILD for makekeys + + Use EXEXT_FOR_BUILD, to fix cross-compiling where EXEEXT differs from + EXEEXT_FOR_BUILD, such as when building for Windows from unix. + + (Note: As written, this assumes EXEEXT_FOR_BUILD is always empty when + cross-compiling. There could be some elaborate autodetection for + EXEXT_FOR_BUILD, but for the moment, if you are cross-compiling from + Windows to Unix, you'll need to set EXEEXT_FOR_BUILD explicity...) + +commit a121b7b0c210efe10bf93453b29050282324c906 +Author: Jon Turney +Date: Tue Apr 30 14:30:41 2019 +0100 + + Remove makekeys dependency on X headers + + This is the patch from https://bugs.freedesktop.org/show_bug.cgi?id=6669 + by Pierre Ossman, reworked for master. + + Avoid using LIBS (which are for host, but we don't need) and rewrite + makekeys slightly to avoid needing to include any X headers, which + avoids potentially having -I with host paths in CFLAGS, which can cause + standard headers e.g. stdio.h for the host to also be used, which can + break things... + +commit cbb59d1727cb1bfcff91b54fd55f4139e360b7ab +Author: Samuel Thibault +Date: Fri Jun 7 23:35:33 2019 +0200 + + Braille: Fix typing quickly + + On finishing releasing Braille keys, we should clear the just-commited + pattern, to reset the state to initial state, and avoid having to wait for + 0.3s before typing the next pattern. + + Signed-off-by: Samuel Thibault + Tested-by: Jean-Philippe Mengual + +commit 99a2cf1aa0b58391078d5d3edf0a7dab18c7745d +Author: Tapani Pälli +Date: Mon May 13 08:29:49 2019 +0300 + + Protect colormap add/removal with display lock + + This fixes a bug where concurrent threads call XCreateColormap and + XFreeColormap corrupting a linked list where colormap structures + are stored. + + Fixes: https://gitlab.freedesktop.org/xorg/lib/libx11/issues/94 + + v2: handle XCopyColormapAndFree also (Adam Jackson) + + Signed-off-by: Tapani Pälli + +commit fea80d03c381a4de379863c0d41f6d4c00f15e1e +Author: Jon Turney +Date: Wed Mar 13 13:12:20 2019 +0000 + + Add autoconf checks for headers we include for FIONREAD + + Add autoconf checks for the extra headers we include to define FIONREAD. + This needs sys/socket.h on Cygwin, and none of the alternatives on + Windows. + +commit 87c77a1e6d7034536e9d25ce24a667ebf53486a7 +Author: Matthias Dieter Wallnöfer +Date: Mon Mar 11 14:19:52 2019 +0000 + + locale.alias.pre - add the de_IT locale + + Signed-off-by: Alan Coopersmith + +commit 568f77f414072506bbe48646637c872987c97e63 +Author: Matthias Dieter Wallnöfer +Date: Mon Mar 11 14:17:10 2019 +0000 + + locale.dir.pre - add the de_IT locale + + Signed-off-by: Alan Coopersmith + +commit 38c0c92feaef7dc4a72920b1dd79872e6578086c +Author: Matthias Dieter Wallnöfer +Date: Mon Mar 11 14:12:07 2019 +0000 + + compose.dir.pre - add de_IT locale + + Signed-off-by: Alan Coopersmith + +commit 49f835611ba6ab82e68b7b851507931c142db7a5 +Author: Matthias Dieter Wallnöfer +Date: Tue Jan 29 15:34:34 2019 +0000 + + Update locale.alias.pre - introduce the de_LI aliases (equivalent to de_CH) + + Signed-off-by: Alan Coopersmith + +commit ed669234d0cd5933618aa5fd2da697b59845b9be +Author: Matthias Dieter Wallnöfer +Date: Tue Jan 29 15:28:18 2019 +0000 + + locale.dir.pre - fix the de_LI latin15 locale + + Signed-off-by: Alan Coopersmith + +commit 82b5c1454a49333b4d94984d40db79cff386d37f +Author: Josh Triplett +Date: Sun Feb 3 08:31:41 2019 +0100 + + compose.dir.pre: Give the C.UTF-8 locale a full set of UTF-8 compose sequences + + Signed-off-by: Josh Triplett + +commit 603c3ab25a692194805fd4b0c62afac8093897fe +Author: Alan Coopersmith +Date: Sat Mar 9 20:58:07 2019 -0800 + + Add missing close paren to XrmGetStringDatabase synopsis in man page + + Fixes: commit 0642e99ac05afb0c + + Signed-off-by: Alan Coopersmith + +commit 6590cc41e3c5c5c836a49a2c82774d7cc9ab3c85 +Author: Alan Coopersmith +Date: Sat Feb 23 11:12:27 2019 -0800 + + Include reallocarray.h in tarballs so "make distcheck" passes + + Fixes: commit bcf7b5aa06c23aee + + Signed-off-by: Alan Coopersmith + +commit a4a7df06351ce9565d298a84547ff71f2d220fbf +Author: Alan Coopersmith +Date: Sat Feb 23 11:04:41 2019 -0800 + + XlibInt.c: include headers needed for ioctl(...FIONREAD...) on Solaris + + Fixes: commit 5538b3e4ae6dee + + Signed-off-by: Alan Coopersmith + +commit 38ec04de7e537dde6b7b1eaca46b1a24fcdbc044 +Author: Alan Coopersmith +Date: Sat Feb 23 10:48:26 2019 -0800 + + specs/XKB: Fix misprint in documentation of XkbFreeGeomOverlayKeys() + + Fixes: https://gitlab.freedesktop.org/xorg/lib/libx11/issues/86 + aka: https://bugs.freedesktop.org/show_bug.cgi?id=23550 + + Signed-off-by: Alan Coopersmith + +commit 74f2f26811ae82b15dede31504b0eb541f7a3293 +Author: Alan Coopersmith +Date: Sat Feb 23 10:46:05 2019 -0800 + + specs/XKB: Fix misprint in documentation of XkbAllocGeomOverlayKeys() + + Fixes: https://gitlab.freedesktop.org/xorg/lib/libx11/issues/85 + aka: https://bugs.freedesktop.org/show_bug.cgi?id=23549 + + Signed-off-by: Alan Coopersmith + +commit 66b039a41690f076e962ac6bd46cca017360a7d1 +Author: Alan Coopersmith +Date: Sat Feb 23 10:44:15 2019 -0800 + + specs/XKB: Fix misprint in documentation of XkbAllocGeomOverlayRows() + + Fixes: https://gitlab.freedesktop.org/xorg/lib/libx11/issues/84 + aka: https://bugs.freedesktop.org/show_bug.cgi?id=23548 + + Signed-off-by: Alan Coopersmith + +commit cdea0e840315171f8390adc63a2397ddf111eea4 +Author: Alan Coopersmith +Date: Sat Feb 23 10:38:08 2019 -0800 + + specs/XKB: Fix misprint in documentation of XkbGetNamedGeometry() + + Fixes: https://gitlab.freedesktop.org/xorg/lib/libx11/issues/82 + aka: https://bugs.freedesktop.org/show_bug.cgi?id=23520 + + Signed-off-by: Alan Coopersmith + +commit c72d17ada98723cd9e03ddf06680a0e54b2c3089 +Author: Alan Coopersmith +Date: Sat Feb 23 10:30:32 2019 -0800 + + XkbAllocGeomOverlayKey man page should be named XkbAllocGeomOverlayKeys + + Signed-off-by: Alan Coopersmith + +commit 05002b8aef9544c8545e0823a02cf14f335d2b68 +Author: Alan Coopersmith +Date: Sun Feb 17 15:13:25 2019 -0800 + + Fix man page typo: XkbAllBellNotifyMask -> XkbAllBellEventsMask + + Reported-by: Daniel Hahler + Signed-off-by: Alan Coopersmith + +commit 5538b3e4ae6dee32c47db9dfc85b07bbe7b90f6c +Author: Adam Jackson +Date: Fri Mar 24 11:07:36 2017 -0400 + + _XDefaultIOError: Do better at detecting explicit shutdown + + Currently, when the X server crashes or a client is disconnected with + XKillClient, you get a somewhat confusing error message from libX11 + along the lines of: + + XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0" + after 98 requests (40 known processed) with 0 events remaining. + + What's happening here is the previous recvmsg has thrown EAGAIN, since + the socket is non-blocking. In this case, check whether the socket has + any more data to read, and if not treat it like EPIPE. + + Signed-off-by: Adam Jackson + +commit 6d2cde9633b5ee020cb60caea1cf61e090b86dd2 +Author: Adam Jackson +Date: Fri Mar 24 11:07:35 2017 -0400 + + _XDefaultIOError: Reformat to be less ugly + + Signed-off-by: Adam Jackson + Reviewed-by: Alan Coopersmith + +commit 003e30a66a249f5c70b30d1c187385124cd4cdad +Author: Alan Coopersmith +Date: Tue Jan 1 14:34:04 2019 -0800 + + Avoid use-after-free in _XimProtoSetIMValues() + + Fixes gitlab issue #49 + + Signed-off-by: Alan Coopersmith + +commit 30656fd66ad47aeaca0bfc237a818f189554f07e +Author: Alan Coopersmith +Date: Tue Jan 1 12:21:04 2019 -0800 + + Fix implicit conversion warnings in _XlcCreateDefaultCharSet + + lcCharSet.c:187:50: warning: implicit conversion changes signedness: + 'int' to 'unsigned long' [-Wsign-conversion] + tmp = Xmalloc(name_len + 1 + ct_sequence_len + 1); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ + ../../include/X11/Xlibint.h:453:32: note: expanded from macro 'Xmalloc' + ~~~~~~ ^~~~ + lcCharSet.c:192:31: warning: implicit conversion changes signedness: + 'int' to 'unsigned long' [-Wsign-conversion] + memcpy(tmp, name, name_len+1); + ~~~~~~ ~~~~~~~~^~ + lcCharSet.c:216:45: warning: implicit conversion changes signedness: + 'int' to 'unsigned long' [-Wsign-conversion] + memcpy(tmp, ct_sequence, ct_sequence_len+1); + ~~~~~~ ~~~~~~~~~~~~~~~^~ + lcCharSet.c:183:16: warning: implicit conversion loses integer precision: + 'unsigned long' to 'int' [-Wshorten-64-to-32] + name_len = strlen(name); + ~ ^~~~~~~~~~~~ + lcCharSet.c:184:23: warning: implicit conversion loses integer precision: + 'unsigned long' to 'int' [-Wshorten-64-to-32] + ct_sequence_len = strlen(ct_sequence); + ~ ^~~~~~~~~~~~~~~~~~~ + lcCharSet.c:198:37: warning: implicit conversion loses integer precision: + 'long' to 'unsigned int' [-Wshorten-64-to-32] + unsigned int length = colon - charset->name; + ~~~~~~ ~~~~~~^~~~~~~~~~~~~~~ + + Signed-off-by: Alan Coopersmith + +commit 2e6300905784fa8adfcea019262ea58b3e1ed4ad +Author: Alan Coopersmith +Date: Tue Jan 1 11:41:47 2019 -0800 + + Remove no-longer-used name variable in _XGetAtomName + + Fixes gcc warning: + GetAtomNm.c: In function ‘_XGetAtomName’: + GetAtomNm.c:39:11: warning: unused variable ‘name’ [-Wunused-variable] + char *name; + ^~~~ + + Introduced by commit 336c1e7a505698a8f3bcb6eb96dbbb8ed21ade96 + + Signed-off-by: Alan Coopersmith + +commit f077871c2a12cf098b0c50572e112c6dc5e04de0 +Author: Alan Coopersmith +Date: Sat Dec 29 11:39:29 2018 -0800 + + Fix out-of-tree builds after commit 8a62e26515e528bb47917ec4a55cc2b492419eeb + + In-tree builds found reallocarray.h in $(top_builddir)/src but the + out-of-tree build didn't find it at all. + + Reported-by: Emmanuele Bassi from GNOME continuous integration pipeline + Signed-off-by: Alan Coopersmith + +commit ba7f7cc783672784bebc6e69349b55c6c75c1973 +Author: Alan Coopersmith +Date: Sun Sep 27 18:35:27 2015 -0700 + + Convert src/xlibi18n to use reallocarray() + + Signed-off-by: Alan Coopersmith + +commit 336c1e7a505698a8f3bcb6eb96dbbb8ed21ade96 +Author: Alan Coopersmith +Date: Sat Sep 26 11:12:47 2015 -0700 + + Replace Xmalloc+strcpy pairs with strdup calls + + Signed-off-by: Alan Coopersmith + +commit 258a8ced681dc1bc50396be7439fce23f9807e2a +Author: Alan Coopersmith +Date: Sun Jul 19 11:58:50 2015 -0700 + + Replace _XkbTypedRealloc & _XkbClearElems with new _XkbResizeArray + + Makes resizing & clearing more consistent and gets rid of some weird + quirks like always subtracting 1 from the size passed to _XkbClearElems + so it could always add 1 to the size passed in. + + Signed-off-by: Alan Coopersmith + +commit f94273e2f4284040306b888e5ca0381ee00591af +Author: Alan Coopersmith +Date: Sun Jul 19 09:47:29 2015 -0700 + + Add some missing allocation failure checks in src/xcms + + Signed-off-by: Alan Coopersmith + +commit 76850471b4a5a6d30f5660234e87ec2772e7b426 +Author: Alan Coopersmith +Date: Sun Jul 19 09:33:21 2015 -0700 + + Convert src/xcms to use reallocarray() + + Signed-off-by: Alan Coopersmith + +commit 8a62e26515e528bb47917ec4a55cc2b492419eeb +Author: Alan Coopersmith +Date: Sun Jul 19 09:24:02 2015 -0700 + + Convert src/XKB to use reallocarray() + + Signed-off-by: Alan Coopersmith + +commit 6d1dc1f6169ebf0ba71785d461bd98129c65c862 +Author: Alan Coopersmith +Date: Thu Jun 4 23:30:43 2015 -0700 + + Convert main src directory to use reallocarray() + +commit bcf7b5aa06c23aee00af7999b58cb96a8571ac42 +Author: Alan Coopersmith +Date: Thu Jun 4 23:18:23 2015 -0700 + + Import reallocarray() from OpenBSD + + Wrapper for realloc() that checks for overflow when multiplying + arguments together, so we don't have to add overflow checks to + every single call. For documentation on usage, see: + http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man3/calloc.3 + + Signed-off-by: Alan Coopersmith + +commit 9bdfe9c9af11d77d66e5ff651e82b20e695cb460 +Author: Alan Coopersmith +Date: Mon Nov 19 21:26:23 2018 -0800 + + Update README for gitlab migration + + Signed-off-by: Alan Coopersmith + +commit c8bcc19970a2cc4ad337de1338c63a07325eefcd +Author: Albert Astals Cid +Date: Fri Nov 9 22:24:52 2018 +0100 + + locale.dir: Add ast_ES.UTF-8 + + With this patch xev properly reports + XLookupString gives 2 bytes: (c2 b4) "´" + for the dead_acute key when using the Asturian locale + +commit 117bb310b44ce03802c91a70949eb58dcc702a3c +Author: Albert Astals Cid +Date: Fri Nov 9 22:18:43 2018 +0100 + + compose.dir: Add ast_ES.UTF-8 + + With this patch one can properly type dead keys like á when using the + Asturian locale + +commit d7e22252d68258a63ca537827c99d0ac0bc4b9d8 +Author: Alan Coopersmith +Date: Sat Nov 10 13:30:47 2018 -0800 + + Remove documentation of obsolete B16 & B32 tags in specs/libX11 + + Signed-off-by: Alan Coopersmith + commit f3c978476e0be6813268af494efb7ac507451116 Author: Matt Turner Date: Tue Oct 9 10:26:05 2018 -0400 diff --git a/lib/libX11/Makefile.am b/lib/libX11/Makefile.am index 3c41b02ba..628a2828e 100644 --- a/lib/libX11/Makefile.am +++ b/lib/libX11/Makefile.am @@ -33,3 +33,5 @@ lint: (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) lint) ; \ done endif LINT + +EXTRA_DIST = README.md diff --git a/lib/libX11/Makefile.in b/lib/libX11/Makefile.in index 3e0a5c394..94bafe20a 100644 --- a/lib/libX11/Makefile.in +++ b/lib/libX11/Makefile.in @@ -51,7 +51,7 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = . -DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ +DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/x11-xcb.pc.in \ $(srcdir)/x11.pc.in $(top_srcdir)/configure \ $(top_srcdir)/include/X11/XlibConf.h.in AUTHORS COPYING \ @@ -215,6 +215,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ @@ -368,6 +369,7 @@ MAINTAINERCLEANFILES = ChangeLog INSTALL # Check source code with tools like lint & sparse @LINT_TRUE@LINT_SUBDIRS = src # modules +EXTRA_DIST = README.md all: all-recursive .SUFFIXES: diff --git a/lib/libX11/README b/lib/libX11/README deleted file mode 100644 index e551acb52..000000000 --- a/lib/libX11/README +++ /dev/null @@ -1,40 +0,0 @@ -libX11 - Core X11 protocol client library - -Documentation for this library can be found in the included man pages, -and in the Xlib spec from the specs subdirectory, also available at: - - http://www.x.org/releases/current/doc/libX11/libX11/libX11.html - http://www.x.org/releases/current/doc/libX11/libX11/libX11.pdf - -and the O'Reilly Xlib books, which they have made freely available online, -though only for older versions of X11: - - - X Series Volume 2: Xlib Reference Manual (1989, covers X11R3) - http://www.archive.org/details/xlibretmanver1102nyemiss - - - X Series Volume 2: Xlib Reference Manual, 2nd Edition (1990, covers X11R4) - http://www.archive.org/details/xlibrefmanv115ed02nyemiss - -All questions regarding this software should be directed at the -Xorg mailing list: - - http://lists.freedesktop.org/mailman/listinfo/xorg - -Please submit bug reports to the Xorg bugzilla: - - https://bugs.freedesktop.org/enter_bug.cgi?product=xorg - -The master development code repository can be found at: - - git://anongit.freedesktop.org/git/xorg/lib/libX11 - - http://cgit.freedesktop.org/xorg/lib/libX11 - -For patch submission instructions, see: - - http://www.x.org/wiki/Development/Documentation/SubmittingPatches - -For more information on the git code manager, see: - - http://wiki.x.org/wiki/GitPage - diff --git a/lib/libX11/README.md b/lib/libX11/README.md new file mode 100644 index 000000000..371b890c9 --- /dev/null +++ b/lib/libX11/README.md @@ -0,0 +1,33 @@ +libX11 - Core X11 protocol client library +----------------------------------------- + +Documentation for this library can be found in the included man pages, +and in the Xlib spec from the specs subdirectory, also available at: + + https://www.x.org/releases/current/doc/libX11/libX11/libX11.html + https://www.x.org/releases/current/doc/libX11/libX11/libX11.pdf + +and the O'Reilly Xlib books, which they have made freely available online, +though only for older versions of X11: + + - X Series Volume 2: Xlib Reference Manual (1989, covers X11R3) + https://www.archive.org/details/xlibretmanver1102nyemiss + + - X Series Volume 2: Xlib Reference Manual, 2nd Edition (1990, covers X11R4) + https://www.archive.org/details/xlibrefmanv115ed02nyemiss + +All questions regarding this software should be directed at the +Xorg mailing list: + + https://lists.x.org/mailman/listinfo/xorg + +The master development code repository can be found at: + + https://gitlab.freedesktop.org/xorg/lib/libX11 + +Please submit bug reports and requests to merge patches there. + +For patch submission instructions, see: + + https://www.x.org/wiki/Development/Documentation/SubmittingPatches + diff --git a/lib/libX11/aclocal.m4 b/lib/libX11/aclocal.m4 index a2168f154..5c7efbb7e 100644 --- a/lib/libX11/aclocal.m4 +++ b/lib/libX11/aclocal.m4 @@ -19,32 +19,63 @@ You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -# serial 1 (pkg-config-0.24) -# -# Copyright © 2004 Scott James Remnant . -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# PKG_PROG_PKG_CONFIG([MIN-VERSION]) -# ---------------------------------- +dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +dnl serial 11 (pkg-config-0.29.1) +dnl +dnl Copyright © 2004 Scott James Remnant . +dnl Copyright © 2012-2015 Dan Nicholson +dnl +dnl This program is free software; you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation; either version 2 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, but +dnl WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program; if not, write to the Free Software +dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +dnl 02111-1307, USA. +dnl +dnl As a special exception to the GNU General Public License, if you +dnl distribute this file as part of a program that contains a +dnl configuration script generated by Autoconf, you may include it under +dnl the same distribution terms that you use for the rest of that +dnl program. + +dnl PKG_PREREQ(MIN-VERSION) +dnl ----------------------- +dnl Since: 0.29 +dnl +dnl Verify that the version of the pkg-config macros are at least +dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's +dnl installed version of pkg-config, this checks the developer's version +dnl of pkg.m4 when generating configure. +dnl +dnl To ensure that this macro is defined, also add: +dnl m4_ifndef([PKG_PREREQ], +dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])]) +dnl +dnl See the "Since" comment for each macro you use to see what version +dnl of the macros you require. +m4_defun([PKG_PREREQ], +[m4_define([PKG_MACROS_VERSION], [0.29.1]) +m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, + [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) +])dnl PKG_PREREQ + +dnl PKG_PROG_PKG_CONFIG([MIN-VERSION]) +dnl ---------------------------------- +dnl Since: 0.16 +dnl +dnl Search for the pkg-config tool and set the PKG_CONFIG variable to +dnl first found in the path. Checks that the version of pkg-config found +dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is +dnl used since that's the first version where most current features of +dnl pkg-config existed. AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) @@ -66,18 +97,19 @@ if test -n "$PKG_CONFIG"; then PKG_CONFIG="" fi fi[]dnl -])# PKG_PROG_PKG_CONFIG +])dnl PKG_PROG_PKG_CONFIG -# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# -# Check to see whether a particular set of modules exists. Similar -# to PKG_CHECK_MODULES(), but does not set variables or print errors. -# -# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -# only at the first occurence in configure.ac, so if the first place -# it's called might be skipped (such as if it is within an "if", you -# have to call PKG_CHECK_EXISTS manually -# -------------------------------------------------------------- +dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +dnl ------------------------------------------------------------------- +dnl Since: 0.18 +dnl +dnl Check to see whether a particular set of modules exists. Similar to +dnl PKG_CHECK_MODULES(), but does not set variables or print errors. +dnl +dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +dnl only at the first occurence in configure.ac, so if the first place +dnl it's called might be skipped (such as if it is within an "if", you +dnl have to call PKG_CHECK_EXISTS manually AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ @@ -87,8 +119,10 @@ m4_ifvaln([$3], [else $3])dnl fi]) -# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) -# --------------------------------------------- +dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) +dnl --------------------------------------------- +dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting +dnl pkg_failed based on the result. m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" @@ -100,10 +134,11 @@ m4_define([_PKG_CONFIG], else pkg_failed=untried fi[]dnl -])# _PKG_CONFIG +])dnl _PKG_CONFIG -# _PKG_SHORT_ERRORS_SUPPORTED -# ----------------------------- +dnl _PKG_SHORT_ERRORS_SUPPORTED +dnl --------------------------- +dnl Internal check to see if pkg-config supports short errors. AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -111,19 +146,17 @@ if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then else _pkg_short_errors_supported=no fi[]dnl -])# _PKG_SHORT_ERRORS_SUPPORTED +])dnl _PKG_SHORT_ERRORS_SUPPORTED -# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], -# [ACTION-IF-NOT-FOUND]) -# -# -# Note that if there is a possibility the first call to -# PKG_CHECK_MODULES might not happen, you should be sure to include an -# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac -# -# -# -------------------------------------------------------------- +dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +dnl [ACTION-IF-NOT-FOUND]) +dnl -------------------------------------------------------------- +dnl Since: 0.4.0 +dnl +dnl Note that if there is a possibility the first call to +dnl PKG_CHECK_MODULES might not happen, you should be sure to include an +dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl @@ -177,16 +210,40 @@ else AC_MSG_RESULT([yes]) $3 fi[]dnl -])# PKG_CHECK_MODULES +])dnl PKG_CHECK_MODULES -# PKG_INSTALLDIR(DIRECTORY) -# ------------------------- -# Substitutes the variable pkgconfigdir as the location where a module -# should install pkg-config .pc files. By default the directory is -# $libdir/pkgconfig, but the default can be changed by passing -# DIRECTORY. The user can override through the --with-pkgconfigdir -# parameter. +dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +dnl [ACTION-IF-NOT-FOUND]) +dnl --------------------------------------------------------------------- +dnl Since: 0.29 +dnl +dnl Checks for existence of MODULES and gathers its build flags with +dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags +dnl and VARIABLE-PREFIX_LIBS from --libs. +dnl +dnl Note that if there is a possibility the first call to +dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to +dnl include an explicit call to PKG_PROG_PKG_CONFIG in your +dnl configure.ac. +AC_DEFUN([PKG_CHECK_MODULES_STATIC], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +_save_PKG_CONFIG=$PKG_CONFIG +PKG_CONFIG="$PKG_CONFIG --static" +PKG_CHECK_MODULES($@) +PKG_CONFIG=$_save_PKG_CONFIG[]dnl +])dnl PKG_CHECK_MODULES_STATIC + + +dnl PKG_INSTALLDIR([DIRECTORY]) +dnl ------------------------- +dnl Since: 0.27 +dnl +dnl Substitutes the variable pkgconfigdir as the location where a module +dnl should install pkg-config .pc files. By default the directory is +dnl $libdir/pkgconfig, but the default can be changed by passing +dnl DIRECTORY. The user can override through the --with-pkgconfigdir +dnl parameter. AC_DEFUN([PKG_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) m4_pushdef([pkg_description], @@ -197,16 +254,18 @@ AC_ARG_WITH([pkgconfigdir], AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) -]) dnl PKG_INSTALLDIR +])dnl PKG_INSTALLDIR -# PKG_NOARCH_INSTALLDIR(DIRECTORY) -# ------------------------- -# Substitutes the variable noarch_pkgconfigdir as the location where a -# module should install arch-independent pkg-config .pc files. By -# default the directory is $datadir/pkgconfig, but the default can be -# changed by passing DIRECTORY. The user can override through the -# --with-noarch-pkgconfigdir parameter. +dnl PKG_NOARCH_INSTALLDIR([DIRECTORY]) +dnl -------------------------------- +dnl Since: 0.27 +dnl +dnl Substitutes the variable noarch_pkgconfigdir as the location where a +dnl module should install arch-independent pkg-config .pc files. By +dnl default the directory is $datadir/pkgconfig, but the default can be +dnl changed by passing DIRECTORY. The user can override through the +dnl --with-noarch-pkgconfigdir parameter. AC_DEFUN([PKG_NOARCH_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) m4_pushdef([pkg_description], @@ -217,7 +276,24 @@ AC_ARG_WITH([noarch-pkgconfigdir], AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) -]) dnl PKG_NOARCH_INSTALLDIR +])dnl PKG_NOARCH_INSTALLDIR + + +dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, +dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +dnl ------------------------------------------- +dnl Since: 0.28 +dnl +dnl Retrieves the value of the pkg-config variable for the given module. +AC_DEFUN([PKG_CHECK_VAR], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl + +_PKG_CONFIG([$1], [variable="][$3]["], [$2]) +AS_VAR_COPY([$1], [pkg_cv_][$1]) + +AS_VAR_IF([$1], [""], [$5], [$4])dnl +])dnl PKG_CHECK_VAR # Copyright (C) 2002-2012 Free Software Foundation, Inc. # @@ -3302,6 +3378,9 @@ AC_DEFUN([XTRANS_CONNECTION_FLAGS],[ AC_DEFINE(LOCALCONN,1,[Support os-specific local connections]) fi + # Other functions Xtrans may need + AC_CHECK_FUNCS([strcasecmp strlcpy]) + ]) # XTRANS_CONNECTION_FLAGS diff --git a/lib/libX11/compile b/lib/libX11/compile index 2ab71e4ea..99e50524b 100644 --- a/lib/libX11/compile +++ b/lib/libX11/compile @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ scriptversion=2016-01-11.22; # UTC # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -340,7 +340,7 @@ exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff --git a/lib/libX11/configure b/lib/libX11/configure index 83d85a9ab..2f24c1f72 100644 --- a/lib/libX11/configure +++ b/lib/libX11/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for libX11 1.6.7. +# Generated by GNU Autoconf 2.69 for libX11 1.6.8. # # Report bugs to . # @@ -651,8 +651,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='libX11' PACKAGE_TARNAME='libX11' -PACKAGE_VERSION='1.6.7' -PACKAGE_STRING='libX11 1.6.7' +PACKAGE_VERSION='1.6.8' +PACKAGE_STRING='libX11 1.6.8' PACKAGE_BUGREPORT='https://gitlab.freedesktop.org/xorg/lib/libx11/issues' PACKAGE_URL='' @@ -697,7 +697,6 @@ ac_header_list= ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS -LIBOBJS XTMALLOC_ZERO_CFLAGS XMALLOC_ZERO_CFLAGS MALLOC_ZERO_CFLAGS @@ -739,10 +738,12 @@ LAUNCHD OS2_FALSE OS2_TRUE WCHAR32 +LIBOBJS XLIB_LOADABLE_I18N_FALSE XLIB_LOADABLE_I18N_TRUE I18N_MODULE_LIBS X11_EXTRA_DEPS +EXEEXT_FOR_BUILD LDFLAGS_FOR_BUILD CFLAGS_FOR_BUILD CPPFLAGS_FOR_BUILD @@ -919,6 +920,7 @@ enable_fast_install with_gnu_ld with_sysroot enable_libtool_lock +enable_largefile enable_maintainer_mode enable_selective_werror enable_strict_compilation @@ -1510,7 +1512,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libX11 1.6.7 to adapt to many kinds of systems. +\`configure' configures libX11 1.6.8 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1580,7 +1582,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libX11 1.6.7:";; + short | recursive ) echo "Configuration of libX11 1.6.8:";; esac cat <<\_ACEOF @@ -1597,6 +1599,7 @@ Optional Features: --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) + --disable-largefile omit support for large files --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer @@ -1746,7 +1749,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libX11 configure 1.6.7 +libX11 configure 1.6.8 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2272,7 +2275,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libX11 $as_me 1.6.7, which was +It was created by libX11 $as_me 1.6.8, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -4490,7 +4493,7 @@ fi # Define the identity of the package. PACKAGE='libX11' - VERSION='1.6.7' + VERSION='1.6.8' cat >>confdefs.h <<_ACEOF @@ -11780,6 +11783,207 @@ CC="$lt_save_CC" +# Check whether --enable-largefile was given. +if test "${enable_largefile+set}" = set; then : + enableval=$enable_largefile; +fi + +if test "$enable_largefile" != no; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 +$as_echo_n "checking for special C compiler options needed for large files... " >&6; } +if ${ac_cv_sys_largefile_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_sys_largefile_CC=no + if test "$GCC" != yes; then + ac_save_CC=$CC + while :; do + # IRIX 6.2 and later do not support large files by default, + # so use the C compiler's -n32 option if that helps. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF + if ac_fn_c_try_compile "$LINENO"; then : + break +fi +rm -f core conftest.err conftest.$ac_objext + CC="$CC -n32" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_largefile_CC=' -n32'; break +fi +rm -f core conftest.err conftest.$ac_objext + break + done + CC=$ac_save_CC + rm -f conftest.$ac_ext + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 +$as_echo "$ac_cv_sys_largefile_CC" >&6; } + if test "$ac_cv_sys_largefile_CC" != no; then + CC=$CC$ac_cv_sys_largefile_CC + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 +$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } +if ${ac_cv_sys_file_offset_bits+:} false; then : + $as_echo_n "(cached) " >&6 +else + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_file_offset_bits=no; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _FILE_OFFSET_BITS 64 +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_file_offset_bits=64; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_file_offset_bits=unknown + break +done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 +$as_echo "$ac_cv_sys_file_offset_bits" >&6; } +case $ac_cv_sys_file_offset_bits in #( + no | unknown) ;; + *) +cat >>confdefs.h <<_ACEOF +#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits +_ACEOF +;; +esac +rm -rf conftest* + if test $ac_cv_sys_file_offset_bits = unknown; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 +$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } +if ${ac_cv_sys_large_files+:} false; then : + $as_echo_n "(cached) " >&6 +else + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_large_files=no; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _LARGE_FILES 1 +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_sys_large_files=1; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_large_files=unknown + break +done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 +$as_echo "$ac_cv_sys_large_files" >&6; } +case $ac_cv_sys_large_files in #( + no | unknown) ;; + *) +cat >>confdefs.h <<_ACEOF +#define _LARGE_FILES $ac_cv_sys_large_files +_ACEOF +;; +esac +rm -rf conftest* + fi + + +fi + + # Require xorg-macros minimum of 1.15 for fop minimum version @@ -18963,6 +19167,14 @@ if test x"$LDFLAGS_FOR_BUILD" = x; then fi +if test x"$EXEEXT_FOR_BUILD" = x; then + if test x"$cross_compiling" = xno; then + EXEEXT_FOR_BUILD=${EXEEXT} + fi + # If cross-compiling and not provided, assume EXEEXT_FOR_BUILD is empty +fi + + # Checks for pkg-config packages # Always required @@ -19422,6 +19634,20 @@ $as_echo "#define LOCALCONN 1" >>confdefs.h fi + # Other functions Xtrans may need + for ac_func in strcasecmp strlcpy +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + # Check for dlopen @@ -19631,12 +19857,13 @@ fi $as_echo "$XLIB_LOADABLE_XCURSOR" >&6; } # Checks for header files. -for ac_header in sys/select.h +for ac_header in sys/filio.h sys/select.h sys/ioctl.h sys/socket.h do : - ac_fn_c_check_header_mongrel "$LINENO" "sys/select.h" "ac_cv_header_sys_select_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_select_h" = xyes; then : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF -#define HAVE_SYS_SELECT_H 1 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi @@ -19659,6 +19886,20 @@ _ACEOF fi done +ac_fn_c_check_func "$LINENO" "reallocarray" "ac_cv_func_reallocarray" +if test "x$ac_cv_func_reallocarray" = xyes; then : + $as_echo "#define HAVE_REALLOCARRAY 1" >>confdefs.h + +else + case " $LIBOBJS " in + *" reallocarray.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS reallocarray.$ac_objext" + ;; +esac + +fi + + # Used in lcFile.c (see also --enable-xlocaledir settings below) XLOCALEDIR_IS_SAFE="no" ac_fn_c_check_decl "$LINENO" "issetugid" "ac_cv_have_decl_issetugid" "$ac_includes_default" @@ -21406,7 +21647,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libX11 $as_me 1.6.7, which was +This file was extended by libX11 $as_me 1.6.8, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -21472,7 +21713,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -libX11 config.status 1.6.7 +libX11 config.status 1.6.8 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/lib/libX11/configure.ac b/lib/libX11/configure.ac index 309084536..a5fd706f4 100644 --- a/lib/libX11/configure.ac +++ b/lib/libX11/configure.ac @@ -1,7 +1,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) -AC_INIT([libX11], [1.6.7], +AC_INIT([libX11], [1.6.8], [https://gitlab.freedesktop.org/xorg/lib/libx11/issues], [libX11]) AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_HEADERS([src/config.h include/X11/XlibConf.h]) @@ -19,6 +19,8 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2]) # Initialize libtool AC_PROG_LIBTOOL +AC_SYS_LARGEFILE + # Require xorg-macros minimum of 1.15 for fop minimum version m4_ifndef([XORG_MACROS_VERSION], [m4_fatal([must install xorg-macros 1.15 or later before running autoconf/autogen])]) @@ -65,6 +67,14 @@ if test x"$LDFLAGS_FOR_BUILD" = x; then fi AC_SUBST(LDFLAGS_FOR_BUILD) +if test x"$EXEEXT_FOR_BUILD" = x; then + if test x"$cross_compiling" = xno; then + EXEEXT_FOR_BUILD=${EXEEXT} + fi + # If cross-compiling and not provided, assume EXEEXT_FOR_BUILD is empty +fi +AC_SUBST([EXEEXT_FOR_BUILD]) + # Checks for pkg-config packages # Always required @@ -139,12 +149,13 @@ fi AC_MSG_RESULT($XLIB_LOADABLE_XCURSOR) # Checks for header files. -AC_CHECK_HEADERS([sys/select.h]) +AC_CHECK_HEADERS([sys/filio.h sys/select.h sys/ioctl.h sys/socket.h]) # Checks for typedefs, structures, and compiler characteristics. # Checks for library functions. AC_CHECK_FUNCS([strtol seteuid]) +AC_REPLACE_FUNCS([reallocarray]) # Used in lcFile.c (see also --enable-xlocaledir settings below) XLOCALEDIR_IS_SAFE="no" AC_CHECK_DECL([issetugid]) diff --git a/lib/libX11/include/Makefile.in b/lib/libX11/include/Makefile.in index 37135919a..b93e00fb4 100644 --- a/lib/libX11/include/Makefile.in +++ b/lib/libX11/include/Makefile.in @@ -155,6 +155,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ diff --git a/lib/libX11/man/Compose.man b/lib/libX11/man/Compose.man index 6a8a9668e..71231698b 100644 --- a/lib/libX11/man/Compose.man +++ b/lib/libX11/man/Compose.man @@ -112,7 +112,7 @@ Keysyms are specified without the \fBXK_\fP prefix. Strings may be direct text encoded in the locale for which the compose file is to be used, or an escaped octal or hexadecimal character code. Octal codes are specified as \fB\*q\\123\*q\fP and hexadecimal codes as -\fB\*q\\0x123a\*q\fP. +\fB\*q\\x3a\*q\fP. It is not necessary to specify in the right part of a rule a locale encoded string in addition to the keysym name. If the string is omitted, Xlib figures it out from the keysym according to the current locale. diff --git a/lib/libX11/man/Makefile.in b/lib/libX11/man/Makefile.in index 8a3c32b6d..25dcb0189 100644 --- a/lib/libX11/man/Makefile.in +++ b/lib/libX11/man/Makefile.in @@ -191,6 +191,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ diff --git a/lib/libX11/man/XrmGetFileDatabase.man b/lib/libX11/man/XrmGetFileDatabase.man index 71ddd9f10..a0c101979 100644 --- a/lib/libX11/man/XrmGetFileDatabase.man +++ b/lib/libX11/man/XrmGetFileDatabase.man @@ -100,7 +100,7 @@ XrmDatabase XrmGetFileDatabase\^(\^char *\fIfilename\fP\^); void XrmPutFileDatabase\^(\^XrmDatabase \fIdatabase\fP\^, char *\fIstored_db\fP\^); .HP -XrmDatabase XrmGetStringDatabase\^(\^char *\fIdata\fP\^, +XrmDatabase XrmGetStringDatabase\^(\^char *\fIdata\fP\^); .HP char *XrmLocaleOfDatabase\^(\^XrmDatabase \fIdatabase\fP\^); .HP diff --git a/lib/libX11/man/xkb/Makefile.am b/lib/libX11/man/xkb/Makefile.am index 7632faa38..1f4e37075 100644 --- a/lib/libX11/man/xkb/Makefile.am +++ b/lib/libX11/man/xkb/Makefile.am @@ -26,7 +26,7 @@ libman_PRE = \ XkbAllocGeomKeyAliases.man \ XkbAllocGeomKeys.man \ XkbAllocGeomOutlines.man \ - XkbAllocGeomOverlayKey.man \ + XkbAllocGeomOverlayKeys.man \ XkbAllocGeomOverlayRows.man \ XkbAllocGeomOverlays.man \ XkbAllocGeomPoints.man \ diff --git a/lib/libX11/man/xkb/Makefile.in b/lib/libX11/man/xkb/Makefile.in index 88f6f25c4..67547df82 100644 --- a/lib/libX11/man/xkb/Makefile.in +++ b/lib/libX11/man/xkb/Makefile.in @@ -151,6 +151,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ @@ -320,7 +321,7 @@ libman_PRE = \ XkbAllocGeomKeyAliases.man \ XkbAllocGeomKeys.man \ XkbAllocGeomOutlines.man \ - XkbAllocGeomOverlayKey.man \ + XkbAllocGeomOverlayKeys.man \ XkbAllocGeomOverlayRows.man \ XkbAllocGeomOverlays.man \ XkbAllocGeomPoints.man \ diff --git a/lib/libX11/man/xkb/XkbAllocGeomOverlayKey.man b/lib/libX11/man/xkb/XkbAllocGeomOverlayKey.man deleted file mode 100644 index 157b7ef20..000000000 --- a/lib/libX11/man/xkb/XkbAllocGeomOverlayKey.man +++ /dev/null @@ -1,64 +0,0 @@ -'\" t -.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved. -.\" -.\" 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 (including the next -.\" paragraph) 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 -.\" THE AUTHORS OR COPYRIGHT HOLDERS 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. -.\" -.TH XkbAllocGeomOverlayKeys __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocGeomOverlayKeys \- Allocate keys in an overlay row -.SH SYNOPSIS -.HP -.B Status XkbAllocGeomOverlayKeys -.BI "(\^XkbOverlayRowPtr " "row" "\^," -.BI "int " "num_needed" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- row -section for which rows should be allocated -.TP -.I \- num_needed -number of new rows required -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a keyboard geometry. Use these functions to create or modify keyboard geometries. Note that these functions merely allocate space for the new element(s), and it is up to you to fill in the values explicitly in your code. These allocation functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are not able to allocate space, or BadValue if a parameter is not as expected. - -.I XkbAllocGeomOverlayKeys -allocates -.I num_needed -keys and adds them to the -.I row. -No initialization of the keys is done. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range diff --git a/lib/libX11/man/xkb/XkbAllocGeomOverlayKeys.man b/lib/libX11/man/xkb/XkbAllocGeomOverlayKeys.man new file mode 100644 index 000000000..157b7ef20 --- /dev/null +++ b/lib/libX11/man/xkb/XkbAllocGeomOverlayKeys.man @@ -0,0 +1,64 @@ +'\" t +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved. +.\" +.\" 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 (including the next +.\" paragraph) 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 +.\" THE AUTHORS OR COPYRIGHT HOLDERS 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. +.\" +.TH XkbAllocGeomOverlayKeys __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" +.SH NAME +XkbAllocGeomOverlayKeys \- Allocate keys in an overlay row +.SH SYNOPSIS +.HP +.B Status XkbAllocGeomOverlayKeys +.BI "(\^XkbOverlayRowPtr " "row" "\^," +.BI "int " "num_needed" "\^);" +.if n .ti +5n +.if t .ti +.5i +.SH ARGUMENTS +.TP +.I \- row +section for which rows should be allocated +.TP +.I \- num_needed +number of new rows required +.SH DESCRIPTION +.LP +Xkb provides a number of functions to allocate and free subcomponents of a keyboard geometry. Use these functions to create or modify keyboard geometries. Note that these functions merely allocate space for the new element(s), and it is up to you to fill in the values explicitly in your code. These allocation functions increase +.I sz_* +but never touch +.I num_* +(unless there is an allocation failure, in which case they reset both +.I sz_* +and +.I num_* +to zero). These functions return Success if they succeed, BadAlloc if they are not able to allocate space, or BadValue if a parameter is not as expected. + +.I XkbAllocGeomOverlayKeys +allocates +.I num_needed +keys and adds them to the +.I row. +No initialization of the keys is done. +.SH DIAGNOSTICS +.TP 15 +.B BadAlloc +Unable to allocate storage +.TP 15 +.B BadValue +An argument is out of range diff --git a/lib/libX11/man/xkb/XkbBell.man b/lib/libX11/man/xkb/XkbBell.man index c6fc0e001..092dbd566 100644 --- a/lib/libX11/man/xkb/XkbBell.man +++ b/lib/libX11/man/xkb/XkbBell.man @@ -278,7 +278,7 @@ However, you can call .I XkbSelectEventDetails using XkbBellNotify as the .I event_type -and specifying XkbAllBellNotifyMask in +and specifying XkbAllBellEventsMask in .I bits_to_change and .I values_for_bits. diff --git a/lib/libX11/man/xkb/XkbBellEvent.man b/lib/libX11/man/xkb/XkbBellEvent.man index bf6f46905..49044405f 100644 --- a/lib/libX11/man/xkb/XkbBellEvent.man +++ b/lib/libX11/man/xkb/XkbBellEvent.man @@ -278,7 +278,7 @@ However, you can call .I XkbSelectEventDetails using XkbBellNotify as the .I event_type -and specifying XkbAllBellNotifyMask in +and specifying XkbAllBellEventsMask in .I bits_to_change and .I values_for_bits. diff --git a/lib/libX11/man/xkb/XkbDeviceBell.man b/lib/libX11/man/xkb/XkbDeviceBell.man index bf78681e2..dc3dd249b 100644 --- a/lib/libX11/man/xkb/XkbDeviceBell.man +++ b/lib/libX11/man/xkb/XkbDeviceBell.man @@ -247,7 +247,7 @@ However, you can call .I XkbSelectEventDetails using XkbBellNotify as the .I event_type -and specifying XkbAllBellNotifyMask in +and specifying XkbAllBellEventsMask in .I bits_to_change and .I values_for_bits. diff --git a/lib/libX11/man/xkb/XkbDeviceBellEvent.man b/lib/libX11/man/xkb/XkbDeviceBellEvent.man index 92a31d5c1..c16386e2b 100644 --- a/lib/libX11/man/xkb/XkbDeviceBellEvent.man +++ b/lib/libX11/man/xkb/XkbDeviceBellEvent.man @@ -274,7 +274,7 @@ However, you can call .I XkbSelectEventDetails using XkbBellNotify as the .I event_type -and specifying XkbAllBellNotifyMask in +and specifying XkbAllBellEventsMask in .I bits_to_change and .I values_for_bits. diff --git a/lib/libX11/man/xkb/XkbForceBell.man b/lib/libX11/man/xkb/XkbForceBell.man index bb3f7fc9d..c38d4bdd4 100644 --- a/lib/libX11/man/xkb/XkbForceBell.man +++ b/lib/libX11/man/xkb/XkbForceBell.man @@ -272,7 +272,7 @@ However, you can call .I XkbSelectEventDetails using XkbBellNotify as the .I event_type -and specifying XkbAllBellNotifyMask in +and specifying XkbAllBellEventsMask in .I bits_to_change and .I values_for_bits. diff --git a/lib/libX11/man/xkb/XkbForceDeviceBell.man b/lib/libX11/man/xkb/XkbForceDeviceBell.man index 6419decde..60c1df5e4 100644 --- a/lib/libX11/man/xkb/XkbForceDeviceBell.man +++ b/lib/libX11/man/xkb/XkbForceDeviceBell.man @@ -251,7 +251,7 @@ However, you can call .I XkbSelectEventDetails using XkbBellNotify as the .I event_type -and specifying XkbAllBellNotifyMask in +and specifying XkbAllBellEventsMask in .I bits_to_change and .I values_for_bits. diff --git a/lib/libX11/modules/Makefile.in b/lib/libX11/modules/Makefile.in index 253b6b436..3bc1c0c99 100644 --- a/lib/libX11/modules/Makefile.in +++ b/lib/libX11/modules/Makefile.in @@ -161,6 +161,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ diff --git a/lib/libX11/modules/im/Makefile.in b/lib/libX11/modules/im/Makefile.in index af4ff0f40..8a8ce8016 100644 --- a/lib/libX11/modules/im/Makefile.in +++ b/lib/libX11/modules/im/Makefile.in @@ -161,6 +161,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ diff --git a/lib/libX11/modules/im/ximcp/Makefile.in b/lib/libX11/modules/im/ximcp/Makefile.in index bda089c5b..d123dbd78 100644 --- a/lib/libX11/modules/im/ximcp/Makefile.in +++ b/lib/libX11/modules/im/ximcp/Makefile.in @@ -204,6 +204,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ diff --git a/lib/libX11/modules/im/ximcp/imDefIm.c b/lib/libX11/modules/im/ximcp/imDefIm.c index 9e877c0b4..cf922e488 100644 --- a/lib/libX11/modules/im/ximcp/imDefIm.c +++ b/lib/libX11/modules/im/ximcp/imDefIm.c @@ -330,9 +330,7 @@ _XimPreConnectionIM( else goto Error; } - if( (locale_name[3] = Xmalloc(llen+1)) != NULL ) - strcpy( locale_name[3], language ); - else + if( (locale_name[3] = strdup(language)) == NULL ) goto Error; if((locales = XInternAtom(display, XIM_LOCALES, True)) == (Atom)None) goto Error; @@ -1299,8 +1297,6 @@ _XimProtoSetIMValues( if ((name = _XimEncodeIMATTRIBUTE(im, im->core.im_resources, im->core.im_num_resources, arg, &arg_ret, data, data_len, &ret_len, (XPointer)&im_values, XIM_SETIMVALUES))) { - if (buf != tmp_buf) - Xfree(buf); break; } diff --git a/lib/libX11/modules/im/ximcp/imLcFlt.c b/lib/libX11/modules/im/ximcp/imLcFlt.c index a7060903a..4dee0461c 100644 --- a/lib/libX11/modules/im/ximcp/imLcFlt.c +++ b/lib/libX11/modules/im/ximcp/imLcFlt.c @@ -71,6 +71,7 @@ _XimLocalFilter(Display *d, Window w, XEvent *ev, XPointer client_data) keysym = XK_braille_blank | ic->private.local.brl_committing; ev->type = KeyPress; braille = True; + ic->private.local.brl_committing = 0; } else { return(True); } diff --git a/lib/libX11/modules/lc/Makefile.in b/lib/libX11/modules/lc/Makefile.in index 0a1223787..a2a28c55f 100644 --- a/lib/libX11/modules/lc/Makefile.in +++ b/lib/libX11/modules/lc/Makefile.in @@ -161,6 +161,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ diff --git a/lib/libX11/modules/lc/Utf8/Makefile.in b/lib/libX11/modules/lc/Utf8/Makefile.in index 1a8f21b9a..31decbc48 100644 --- a/lib/libX11/modules/lc/Utf8/Makefile.in +++ b/lib/libX11/modules/lc/Utf8/Makefile.in @@ -196,6 +196,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ diff --git a/lib/libX11/modules/lc/def/Makefile.in b/lib/libX11/modules/lc/def/Makefile.in index c0607081b..b8d644ae5 100644 --- a/lib/libX11/modules/lc/def/Makefile.in +++ b/lib/libX11/modules/lc/def/Makefile.in @@ -194,6 +194,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ diff --git a/lib/libX11/modules/lc/gen/Makefile.in b/lib/libX11/modules/lc/gen/Makefile.in index 66ce66959..c51afa9b2 100644 --- a/lib/libX11/modules/lc/gen/Makefile.in +++ b/lib/libX11/modules/lc/gen/Makefile.in @@ -194,6 +194,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ diff --git a/lib/libX11/modules/lc/xlocale/Makefile.am b/lib/libX11/modules/lc/xlocale/Makefile.am deleted file mode 100644 index 70a221fd7..000000000 --- a/lib/libX11/modules/lc/xlocale/Makefile.am +++ /dev/null @@ -1,35 +0,0 @@ -AM_CPPFLAGS= \ - -I$(top_srcdir)/include \ - -I$(top_srcdir)/include/X11 \ - -I$(top_builddir)/include \ - -I$(top_builddir)/include/X11 \ - -I$(top_srcdir)/src/xcms \ - -I$(top_srcdir)/src/xkb \ - -I$(top_srcdir)/src/xlibi18n \ - -D_BSD_SOURCE - -AM_CFLAGS= \ - $(X11_CFLAGS) \ - $(BIGFONT_CFLAGS) \ - $(CWARNFLAGS) - -if XLIB_LOADABLE_I18N - -commonlibdir = $(X11_LOCALELIBDIR)/common -commonlib_LTLIBRARIES=xlocale.la -xlocale_la_LDFLAGS = -module -version-number 2:0:0 -xlocale_la_LIBADD = $(I18N_MODULE_LIBS) - -else - -noinst_LTLIBRARIES = libxlocale.la - -endif - - -xlocale_la_SOURCES = \ - lcEuc.c \ - lcJis.c \ - lcSjis.c - -libxlocale_la_SOURCES = $(xlocale_la_SOURCES) diff --git a/lib/libX11/modules/lc/xlocale/Makefile.in b/lib/libX11/modules/lc/xlocale/Makefile.in deleted file mode 100644 index 9ecbdf551..000000000 --- a/lib/libX11/modules/lc/xlocale/Makefile.in +++ /dev/null @@ -1,708 +0,0 @@ -# Makefile.in generated by automake 1.12.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2012 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = modules/lc/xlocale -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/depcomp -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_define_dir.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/src/config.h \ - $(top_builddir)/include/X11/XlibConf.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(commonlibdir)" -LTLIBRARIES = $(commonlib_LTLIBRARIES) $(noinst_LTLIBRARIES) -libxlocale_la_LIBADD = -am__objects_1 = lcEuc.lo lcJis.lo lcSjis.lo -am_libxlocale_la_OBJECTS = $(am__objects_1) -libxlocale_la_OBJECTS = $(am_libxlocale_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -@XLIB_LOADABLE_I18N_FALSE@am_libxlocale_la_rpath = -am__DEPENDENCIES_1 = -@XLIB_LOADABLE_I18N_TRUE@xlocale_la_DEPENDENCIES = \ -@XLIB_LOADABLE_I18N_TRUE@ $(am__DEPENDENCIES_1) -am_xlocale_la_OBJECTS = lcEuc.lo lcJis.lo lcSjis.lo -xlocale_la_OBJECTS = $(am_xlocale_la_OBJECTS) -xlocale_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(xlocale_la_LDFLAGS) $(LDFLAGS) -o $@ -@XLIB_LOADABLE_I18N_TRUE@am_xlocale_la_rpath = -rpath $(commonlibdir) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/include/X11 -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libxlocale_la_SOURCES) $(xlocale_la_SOURCES) -DIST_SOURCES = $(libxlocale_la_SOURCES) $(xlocale_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ -ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -APP_MAN_DIR = @APP_MAN_DIR@ -APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BASE_CFLAGS = @BASE_CFLAGS@ -BIGFONT_CFLAGS = @BIGFONT_CFLAGS@ -BIGFONT_LIBS = @BIGFONT_LIBS@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CC_FOR_BUILD = @CC_FOR_BUILD@ -CFLAGS = @CFLAGS@ -CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ -CHANGELOG_CMD = @CHANGELOG_CMD@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ -CWARNFLAGS = @CWARNFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ -DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FILE_MAN_DIR = @FILE_MAN_DIR@ -FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FOP = @FOP@ -GREP = @GREP@ -I18N_MODULE_LIBS = @I18N_MODULE_LIBS@ -INSTALL = @INSTALL@ -INSTALL_CMD = @INSTALL_CMD@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KEYSYMDEFS = @KEYSYMDEFS@ -LAUNCHD = @LAUNCHD@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIB_MAN_DIR = @LIB_MAN_DIR@ -LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ -LINT = @LINT@ -LINTLIB = @LINTLIB@ -LINT_FLAGS = @LINT_FLAGS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MALLOC_ZERO_CFLAGS = @MALLOC_ZERO_CFLAGS@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MAN_SUBSTS = @MAN_SUBSTS@ -MISC_MAN_DIR = @MISC_MAN_DIR@ -MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRICT_CFLAGS = @STRICT_CFLAGS@ -STRIP = @STRIP@ -STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@ -VERSION = @VERSION@ -WCHAR32 = @WCHAR32@ -X11_CFLAGS = @X11_CFLAGS@ -X11_DATADIR = @X11_DATADIR@ -X11_EXTRA_DEPS = @X11_EXTRA_DEPS@ -X11_LIBDIR = @X11_LIBDIR@ -X11_LIBS = @X11_LIBS@ -X11_LOCALEDATADIR = @X11_LOCALEDATADIR@ -X11_LOCALEDIR = @X11_LOCALEDIR@ -X11_LOCALELIBDIR = @X11_LOCALELIBDIR@ -XERRORDB = @XERRORDB@ -XKBPROTO_REQUIRES = @XKBPROTO_REQUIRES@ -XKEYSYMDB = @XKEYSYMDB@ -XLOCALEDATADIR = @XLOCALEDATADIR@ -XLOCALEDIR = @XLOCALEDIR@ -XLOCALELIBDIR = @XLOCALELIBDIR@ -XMALLOC_ZERO_CFLAGS = @XMALLOC_ZERO_CFLAGS@ -XMLTO = @XMLTO@ -XORG_MAN_PAGE = @XORG_MAN_PAGE@ -XORG_SGML_PATH = @XORG_SGML_PATH@ -XSLTPROC = @XSLTPROC@ -XSL_STYLESHEET = @XSL_STYLESHEET@ -XTHREADLIB = @XTHREADLIB@ -XTHREAD_CFLAGS = @XTHREAD_CFLAGS@ -XTMALLOC_ZERO_CFLAGS = @XTMALLOC_ZERO_CFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -locales = @locales@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -AM_CPPFLAGS = \ - -I$(top_srcdir)/include \ - -I$(top_srcdir)/include/X11 \ - -I$(top_builddir)/include \ - -I$(top_builddir)/include/X11 \ - -I$(top_srcdir)/src/xcms \ - -I$(top_srcdir)/src/xkb \ - -I$(top_srcdir)/src/xlibi18n \ - -D_BSD_SOURCE - -AM_CFLAGS = \ - $(X11_CFLAGS) \ - $(BIGFONT_CFLAGS) \ - $(CWARNFLAGS) - -@XLIB_LOADABLE_I18N_TRUE@commonlibdir = $(X11_LOCALELIBDIR)/common -@XLIB_LOADABLE_I18N_TRUE@commonlib_LTLIBRARIES = xlocale.la -@XLIB_LOADABLE_I18N_TRUE@xlocale_la_LDFLAGS = -module -version-number 2:0:0 -@XLIB_LOADABLE_I18N_TRUE@xlocale_la_LIBADD = $(I18N_MODULE_LIBS) -@XLIB_LOADABLE_I18N_FALSE@noinst_LTLIBRARIES = libxlocale.la -xlocale_la_SOURCES = \ - lcEuc.c \ - lcJis.c \ - lcSjis.c - -libxlocale_la_SOURCES = $(xlocale_la_SOURCES) -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign modules/lc/xlocale/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign modules/lc/xlocale/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-commonlibLTLIBRARIES: $(commonlib_LTLIBRARIES) - @$(NORMAL_INSTALL) - @list='$(commonlib_LTLIBRARIES)'; test -n "$(commonlibdir)" || list=; \ - list2=; for p in $$list; do \ - if test -f $$p; then \ - list2="$$list2 $$p"; \ - else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(commonlibdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(commonlibdir)" || exit 1; \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(commonlibdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(commonlibdir)"; \ - } - -uninstall-commonlibLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(commonlib_LTLIBRARIES)'; test -n "$(commonlibdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(commonlibdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(commonlibdir)/$$f"; \ - done - -clean-commonlibLTLIBRARIES: - -test -z "$(commonlib_LTLIBRARIES)" || rm -f $(commonlib_LTLIBRARIES) - @list='$(commonlib_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } -libxlocale.la: $(libxlocale_la_OBJECTS) $(libxlocale_la_DEPENDENCIES) $(EXTRA_libxlocale_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(am_libxlocale_la_rpath) $(libxlocale_la_OBJECTS) $(libxlocale_la_LIBADD) $(LIBS) -xlocale.la: $(xlocale_la_OBJECTS) $(xlocale_la_DEPENDENCIES) $(EXTRA_xlocale_la_DEPENDENCIES) - $(AM_V_CCLD)$(xlocale_la_LINK) $(am_xlocale_la_rpath) $(xlocale_la_OBJECTS) $(xlocale_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lcEuc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lcJis.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lcSjis.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -cscopelist: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: - for dir in "$(DESTDIR)$(commonlibdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-commonlibLTLIBRARIES clean-generic clean-libtool \ - clean-noinstLTLIBRARIES mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-commonlibLTLIBRARIES - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-commonlibLTLIBRARIES - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am clean \ - clean-commonlibLTLIBRARIES clean-generic clean-libtool \ - clean-noinstLTLIBRARIES cscopelist ctags distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-commonlibLTLIBRARIES install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-commonlibLTLIBRARIES - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/lib/libX11/modules/om/Makefile.in b/lib/libX11/modules/om/Makefile.in index 1ec8f1f2b..c053795f4 100644 --- a/lib/libX11/modules/om/Makefile.in +++ b/lib/libX11/modules/om/Makefile.in @@ -161,6 +161,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ diff --git a/lib/libX11/modules/om/generic/Makefile.in b/lib/libX11/modules/om/generic/Makefile.in index 572e9204c..4b518c98c 100644 --- a/lib/libX11/modules/om/generic/Makefile.in +++ b/lib/libX11/modules/om/generic/Makefile.in @@ -197,6 +197,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ diff --git a/lib/libX11/nls/Makefile.in b/lib/libX11/nls/Makefile.in index f611b644f..fc0437037 100644 --- a/lib/libX11/nls/Makefile.in +++ b/lib/libX11/nls/Makefile.in @@ -162,6 +162,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ diff --git a/lib/libX11/nls/compose.dir.pre b/lib/libX11/nls/compose.dir.pre index e59cbe859..70974ef5c 100644 --- a/lib/libX11/nls/compose.dir.pre +++ b/lib/libX11/nls/compose.dir.pre @@ -267,6 +267,7 @@ zh_TW/Compose: zh_TW.eucTW iso8859-1/Compose: zu_ZA.ISO8859-1 XCOMM XCOMM +en_US.UTF-8/Compose: C.UTF-8 en_US.UTF-8/Compose: af_ZA.UTF-8 am_ET.UTF-8/Compose: am_ET.UTF-8 en_US.UTF-8/Compose: ar_AA.UTF-8 @@ -288,6 +289,7 @@ en_US.UTF-8/Compose: ar_SD.UTF-8 en_US.UTF-8/Compose: ar_SY.UTF-8 en_US.UTF-8/Compose: ar_TN.UTF-8 en_US.UTF-8/Compose: ar_YE.UTF-8 +en_US.UTF-8/Compose: ast_ES.UTF-8 en_US.UTF-8/Compose: as_IN.UTF-8 en_US.UTF-8/Compose: az_AZ.UTF-8 en_US.UTF-8/Compose: be_BY.UTF-8 @@ -308,6 +310,7 @@ en_US.UTF-8/Compose: de_AT.UTF-8 en_US.UTF-8/Compose: de_BE.UTF-8 en_US.UTF-8/Compose: de_CH.UTF-8 en_US.UTF-8/Compose: de_DE.UTF-8 +en_US.UTF-8/Compose: de_IT.UTF-8 en_US.UTF-8/Compose: de_LI.UTF-8 en_US.UTF-8/Compose: de_LU.UTF-8 el_GR.UTF-8/Compose: el_CY.UTF-8 diff --git a/lib/libX11/nls/en_US.UTF-8/Compose.pre b/lib/libX11/nls/en_US.UTF-8/Compose.pre index adc24fb5b..0d6192241 100644 --- a/lib/libX11/nls/en_US.UTF-8/Compose.pre +++ b/lib/libX11/nls/en_US.UTF-8/Compose.pre @@ -190,6 +190,14 @@ XCOMM "₪" U20aa NEW SHEQEL SIGN : "€" EuroSign # EURO SIGN : "€" EuroSign # EURO SIGN : "€" EuroSign # EURO SIGN +

: "₽" U20bd # ROUBLE SIGN +

: "₽" U20bd # ROUBLE SIGN +

: "₽" U20bd # ROUBLE SIGN +

: "₽" U20bd # ROUBLE SIGN + : "₽" U20bd # ROUBLE SIGN + : "₽" U20bd # ROUBLE SIGN + : "₽" U20bd # ROUBLE SIGN + : "₽" U20bd # ROUBLE SIGN XCOMM "₭" U20ad KIP SIGN XCOMM "₮" U20ae TUGRIK SIGN XCOMM "₯" U20af DRACHMA SIGN diff --git a/lib/libX11/nls/locale.alias.pre b/lib/libX11/nls/locale.alias.pre index d9f078551..ee4b9e073 100644 --- a/lib/libX11/nls/locale.alias.pre +++ b/lib/libX11/nls/locale.alias.pre @@ -270,6 +270,16 @@ de_DE.8859-15@euro: de_DE.ISO8859-15 de_DE.ISO-8859-15@euro: de_DE.ISO8859-15 de_DE.UTF-8@euro: de_DE.UTF-8 de_DE.utf8: de_DE.UTF-8 +de_IT: de_IT.UTF-8 +de_IT.utf8: de_IT.UTF-8 +de_LI: de_LI.ISO8859-1 +de_LI.iso88591: de_LI.ISO8859-1 +de_LI.ISO_8859-1: de_LI.ISO8859-1 +de_LI.ISO-8859-1: de_LI.ISO8859-1 +de_LI.iso885915: de_LI.ISO8859-15 +de_LI.ISO_8859-15: de_LI.ISO8859-15 +de_LI.ISO-8859-15: de_LI.ISO8859-15 +de_LI.utf8: de_LI.UTF-8 de_LU: de_LU.ISO8859-1 de_LU@euro: de_LU.ISO8859-15 de_LU.iso88591: de_LU.ISO8859-1 diff --git a/lib/libX11/nls/locale.dir.pre b/lib/libX11/nls/locale.dir.pre index 92da87648..a8158cd21 100644 --- a/lib/libX11/nls/locale.dir.pre +++ b/lib/libX11/nls/locale.dir.pre @@ -59,7 +59,7 @@ iso8859-15/XLC_LOCALE: de_CH.ISO8859-15 iso8859-1/XLC_LOCALE: de_DE.ISO8859-1 iso8859-15/XLC_LOCALE: de_DE.ISO8859-15 iso8859-1/XLC_LOCALE: de_LI.ISO8859-1 -iso8859-1/XLC_LOCALE: de_LI.ISO8859-15 +iso8859-15/XLC_LOCALE: de_LI.ISO8859-15 iso8859-1/XLC_LOCALE: de_LU.ISO8859-1 iso8859-15/XLC_LOCALE: de_LU.ISO8859-15 iso8859-7/XLC_LOCALE: el_GR.ISO8859-7 @@ -290,6 +290,7 @@ en_US.UTF-8/XLC_LOCALE: ar_SY.UTF-8 en_US.UTF-8/XLC_LOCALE: ar_TN.UTF-8 en_US.UTF-8/XLC_LOCALE: ar_YE.UTF-8 en_US.UTF-8/XLC_LOCALE: as_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE: ast_ES.UTF-8 en_US.UTF-8/XLC_LOCALE: az_AZ.UTF-8 en_US.UTF-8/XLC_LOCALE: be_BY.UTF-8 en_US.UTF-8/XLC_LOCALE: be_BY.UTF-8@latin @@ -309,6 +310,7 @@ en_US.UTF-8/XLC_LOCALE: de_AT.UTF-8 en_US.UTF-8/XLC_LOCALE: de_BE.UTF-8 en_US.UTF-8/XLC_LOCALE: de_CH.UTF-8 en_US.UTF-8/XLC_LOCALE: de_DE.UTF-8 +en_US.UTF-8/XLC_LOCALE: de_IT.UTF-8 en_US.UTF-8/XLC_LOCALE: de_LI.UTF-8 en_US.UTF-8/XLC_LOCALE: de_LU.UTF-8 en_US.UTF-8/XLC_LOCALE: el_CY.UTF-8 diff --git a/lib/libX11/specs/Makefile.in b/lib/libX11/specs/Makefile.in index b495dbdc1..93af375a9 100644 --- a/lib/libX11/specs/Makefile.in +++ b/lib/libX11/specs/Makefile.in @@ -184,6 +184,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ diff --git a/lib/libX11/specs/XIM/Makefile.in b/lib/libX11/specs/XIM/Makefile.in index 890d42700..57ccf648e 100644 --- a/lib/libX11/specs/XIM/Makefile.in +++ b/lib/libX11/specs/XIM/Makefile.in @@ -177,6 +177,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ diff --git a/lib/libX11/specs/XKB/Makefile.in b/lib/libX11/specs/XKB/Makefile.in index d77fc7ef1..5d7451363 100644 --- a/lib/libX11/specs/XKB/Makefile.in +++ b/lib/libX11/specs/XKB/Makefile.in @@ -184,6 +184,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ diff --git a/lib/libX11/specs/XKB/ch13.xml b/lib/libX11/specs/XKB/ch13.xml index b07a900e6..458a260d6 100644 --- a/lib/libX11/specs/XKB/ch13.xml +++ b/lib/libX11/specs/XKB/ch13.xml @@ -3667,7 +3667,7 @@ To allocate overlays in a section, use -XkbAllocGeomRows +XkbAllocGeomOverlays allocates num_needed overlays and adds them to the section. No initialization of the overlays is done. @@ -3763,7 +3763,7 @@ To allocate rows in a overlay, use num_needed ) --> - XkbSectionPtr overlay + XkbOverlayPtr overlay int num_needed @@ -3774,7 +3774,7 @@ To allocate rows in a overlay, use - section for which rows should be allocated + overlay for which rows should be allocated @@ -3887,7 +3887,7 @@ To allocate keys in an overlay row, use num_needed ) --> - XkbRowPtr row + XkbOverlayRowPtr row int num_needed @@ -3898,7 +3898,7 @@ To allocate keys in an overlay row, use - section for which rows should be allocated + row for which keys should be allocated @@ -3938,7 +3938,7 @@ To free keys in an overlay row, use free_all ) --> - XkbRowPtr row + XkbOverlayRowPtr row int first int count Bool free_all diff --git a/lib/libX11/specs/i18n/Makefile.in b/lib/libX11/specs/i18n/Makefile.in index 06277d921..eb59bce3a 100644 --- a/lib/libX11/specs/i18n/Makefile.in +++ b/lib/libX11/specs/i18n/Makefile.in @@ -184,6 +184,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ diff --git a/lib/libX11/specs/i18n/compose/Makefile.in b/lib/libX11/specs/i18n/compose/Makefile.in index bf4bec205..02c38423c 100644 --- a/lib/libX11/specs/i18n/compose/Makefile.in +++ b/lib/libX11/specs/i18n/compose/Makefile.in @@ -178,6 +178,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ diff --git a/lib/libX11/specs/i18n/framework/Makefile.in b/lib/libX11/specs/i18n/framework/Makefile.in index 2b6e55cbf..854313d24 100644 --- a/lib/libX11/specs/i18n/framework/Makefile.in +++ b/lib/libX11/specs/i18n/framework/Makefile.in @@ -175,6 +175,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ diff --git a/lib/libX11/specs/i18n/localedb/Makefile.in b/lib/libX11/specs/i18n/localedb/Makefile.in index 1e200429c..e5707d700 100644 --- a/lib/libX11/specs/i18n/localedb/Makefile.in +++ b/lib/libX11/specs/i18n/localedb/Makefile.in @@ -175,6 +175,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ diff --git a/lib/libX11/specs/i18n/trans/Makefile.in b/lib/libX11/specs/i18n/trans/Makefile.in index 18b390d3c..45da07771 100644 --- a/lib/libX11/specs/i18n/trans/Makefile.in +++ b/lib/libX11/specs/i18n/trans/Makefile.in @@ -175,6 +175,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ diff --git a/lib/libX11/specs/libX11/AppC.xml b/lib/libX11/specs/libX11/AppC.xml index 8eb1e004c..b48aa083a 100644 --- a/lib/libX11/specs/libX11/AppC.xml +++ b/lib/libX11/specs/libX11/AppC.xml @@ -2020,7 +2020,7 @@ because it may modify this field. All X requests always contain the length of the request, -expressed as a 16-bit quantity of 32 bits. +expressed as a 16-bit quantity of 32 bit words. This means that a single request can be no more than 256K bytes in length. Some servers may not support single requests of such a length. @@ -2111,17 +2111,6 @@ used in replies, errors, and events. -To help but not cure portability problems to certain machines, the -B16 -and -B32 -macros have been defined so that they can become bitfield specifications -on some machines. -For example, on a Cray, -these should be used for all 16-bit and 32-bit quantities, as discussed below. - - - Most protocol requests have a corresponding structure typedef in <X11/Xproto.h>, which looks like: @@ -2136,7 +2125,7 @@ which looks like: typedef struct _DoSomethingReq { CARD8 reqType; /* X_DoSomething */ CARD8 someDatum; /* used differently in different requests */ - CARD16 length B16; /* total # of bytes in request, divided by 4 */ + CARD16 length; /* total # of bytes in request, divided by 4 */ ... /* request-specific data */ ... @@ -2174,8 +2163,8 @@ or typedef struct _ResourceReq { CARD8 reqType; /* the request type, e.g. X_DoSomething */ BYTE pad; /* not used */ - CARD16 length B16; /* 2 (= total # of bytes in request, divided by 4) */ - CARD32 id B32; /* the Window, Drawable, Font, GContext, etc. */ + CARD16 length; /* 2 (= total # of bytes in request, divided by 4) */ + CARD32 id; /* the Window, Drawable, Font, GContext, etc. */ } xResourceReq; @@ -2224,8 +2213,8 @@ also contains a reply structure typedef: typedef struct _DoSomethingReply { BYTE type; /* always X_Reply */ BYTE someDatum; /* used differently in different requests */ - CARD16 sequenceNumber B16; /* # of requests sent so far */ - CARD32 length B32; /* # of additional bytes, divided by 4 */ + CARD16 sequenceNumber; /* # of requests sent so far */ + CARD32 length; /* # of additional bytes, divided by 4 */ ... /* request-specific data */ ... diff --git a/lib/libX11/specs/libX11/Makefile.in b/lib/libX11/specs/libX11/Makefile.in index 13f2576d8..cb5831a21 100644 --- a/lib/libX11/specs/libX11/Makefile.in +++ b/lib/libX11/specs/libX11/Makefile.in @@ -178,6 +178,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ diff --git a/lib/libX11/src/CopyCmap.c b/lib/libX11/src/CopyCmap.c index 5444550cd..b4954b016 100644 --- a/lib/libX11/src/CopyCmap.c +++ b/lib/libX11/src/CopyCmap.c @@ -53,12 +53,12 @@ Colormap XCopyColormapAndFree( mid = req->mid = XAllocID(dpy); req->srcCmap = src_cmap; - UnlockDisplay(dpy); - SyncHandle(); - #if XCMS _XcmsCopyCmapRecAndFree(dpy, src_cmap, mid); #endif + UnlockDisplay(dpy); + SyncHandle(); + return(mid); } diff --git a/lib/libX11/src/CrCmap.c b/lib/libX11/src/CrCmap.c index 9904c7dda..1b18a15bb 100644 --- a/lib/libX11/src/CrCmap.c +++ b/lib/libX11/src/CrCmap.c @@ -48,12 +48,12 @@ Colormap XCreateColormap( if (visual == CopyFromParent) req->visual = CopyFromParent; else req->visual = visual->visualid; - UnlockDisplay(dpy); - SyncHandle(); - #ifdef XCMS _XcmsAddCmapRec(dpy, mid, w, visual); #endif + UnlockDisplay(dpy); + SyncHandle(); + return(mid); } diff --git a/lib/libX11/src/Depths.c b/lib/libX11/src/Depths.c index a8b719d00..dace21e52 100644 --- a/lib/libX11/src/Depths.c +++ b/lib/libX11/src/Depths.c @@ -28,6 +28,7 @@ in this Software without prior written authorization from The Open Group. #include #endif #include "Xlibint.h" +#include "reallocarray.h" #include /* @@ -49,7 +50,7 @@ int *XListDepths ( register Depth *dp; register int i; - depths = Xmalloc (count * sizeof(int)); + depths = Xmallocarray (count, sizeof(int)); if (!depths) return NULL; for (i = 0, dp = scr->depths; i < count; i++, dp++) depths[i] = dp->depth; diff --git a/lib/libX11/src/FSWrap.c b/lib/libX11/src/FSWrap.c index 92caea07c..d4cdbf730 100644 --- a/lib/libX11/src/FSWrap.c +++ b/lib/libX11/src/FSWrap.c @@ -63,6 +63,7 @@ from The Open Group. #include "Xlcint.h" #include #include +#include "reallocarray.h" #define XMAXLIST 256 @@ -112,7 +113,7 @@ _XParseBaseFontNameList( if (!*ptr) break; } - if (!(list = Xmalloc(sizeof(char *) * (*num + 1)))) { + if (!(list = Xmallocarray((*num + 1), sizeof(char *)))) { Xfree(psave); return (char **)NULL; } @@ -133,7 +134,7 @@ copy_string_list( if (string_list == NULL || list_count <= 0) return (char **) NULL; - string_list_ret = Xmalloc(sizeof(char *) * list_count); + string_list_ret = Xmallocarray(list_count, sizeof(char *)); if (string_list_ret == NULL) return (char **) NULL; diff --git a/lib/libX11/src/Font.c b/lib/libX11/src/Font.c index a73f9b19d..09d2ae917 100644 --- a/lib/libX11/src/Font.c +++ b/lib/libX11/src/Font.c @@ -31,6 +31,7 @@ authorization from the X Consortium and the XFree86 Project. #include #endif #include "Xlibint.h" +#include "reallocarray.h" #include #if defined(XF86BIGFONT) @@ -245,8 +246,8 @@ _XQueryFont ( /* nFontProps is a CARD16 */ nbytes = reply.nFontProps * SIZEOF(xFontProp); if ((nbytes >> 2) <= reply_left) { - size_t pbytes = reply.nFontProps * sizeof(XFontProp); - fs->properties = Xmalloc (pbytes); + fs->properties = Xmallocarray (reply.nFontProps, + sizeof(XFontProp)); } if (! fs->properties) { Xfree(fs); @@ -266,8 +267,8 @@ _XQueryFont ( if (reply.nCharInfos < (INT_MAX / sizeof(XCharStruct))) { nbytes = reply.nCharInfos * SIZEOF(xCharInfo); if ((nbytes >> 2) <= reply_left) { - size_t cibytes = reply.nCharInfos * sizeof(XCharStruct); - fs->per_char = Xmalloc (cibytes); + fs->per_char = Xmallocarray (reply.nCharInfos, + sizeof(XCharStruct)); } } if (! fs->per_char) { @@ -489,8 +490,8 @@ _XF86BigfontQueryFont ( /* nFontProps is a CARD16 */ nbytes = reply.nFontProps * SIZEOF(xFontProp); if ((nbytes >> 2) <= reply_left) { - size_t pbytes = reply.nFontProps * sizeof(XFontProp); - fs->properties = Xmalloc (pbytes); + fs->properties = Xmallocarray (reply.nFontProps, + sizeof(XFontProp)); } if (! fs->properties) { Xfree(fs); @@ -529,7 +530,8 @@ _XF86BigfontQueryFont ( _XEatDataWords(dpy, reply_left); return (XFontStruct *)NULL; } - if (! (fs->per_char = Xmalloc (reply.nCharInfos * sizeof(XCharStruct)))) { + if (! (fs->per_char = Xmallocarray (reply.nCharInfos, + sizeof(XCharStruct)))) { Xfree(pUniqCI); Xfree(fs->properties); Xfree(fs); diff --git a/lib/libX11/src/FontInfo.c b/lib/libX11/src/FontInfo.c index a2d12c2ec..f870e4310 100644 --- a/lib/libX11/src/FontInfo.c +++ b/lib/libX11/src/FontInfo.c @@ -28,6 +28,7 @@ in this Software without prior written authorization from The Open Group. #include #endif #include "Xlibint.h" +#include "reallocarray.h" #include #if defined(XF86BIGFONT) @@ -91,22 +92,22 @@ XFontStruct **info) /* RETURN */ XFontStruct * tmp_finfo; char ** tmp_flist; - tmp_finfo = Xrealloc (finfo, sizeof(XFontStruct) * size); + tmp_finfo = Xreallocarray (finfo, size, sizeof(XFontStruct)); if (tmp_finfo) finfo = tmp_finfo; else goto badmem; - tmp_flist = Xrealloc (flist, sizeof(char *) * (size+1)); + tmp_flist = Xreallocarray (flist, size + 1, sizeof(char *)); if (tmp_flist) flist = tmp_flist; else goto badmem; } else { - if (! (finfo = Xmalloc(sizeof(XFontStruct) * size))) + if (! (finfo = Xmallocarray(size, sizeof(XFontStruct)))) goto clearwire; - if (! (flist = Xmalloc(sizeof(char *) * (size+1)))) { + if (! (flist = Xmallocarray(size + 1, sizeof(char *)))) { Xfree(finfo); goto clearwire; } @@ -137,8 +138,8 @@ XFontStruct **info) /* RETURN */ /* nFontProps is a CARD16 */ nbytes = reply.nFontProps * SIZEOF(xFontProp); if ((nbytes >> 2) <= reply_left) { - size_t pbytes = reply.nFontProps * sizeof(XFontProp); - fs->properties = Xmalloc (pbytes); + fs->properties = Xmallocarray (reply.nFontProps, + sizeof(XFontProp)); } if (! fs->properties) goto badmem; diff --git a/lib/libX11/src/FontNames.c b/lib/libX11/src/FontNames.c index ec7d90fa2..b78792d6f 100644 --- a/lib/libX11/src/FontNames.c +++ b/lib/libX11/src/FontNames.c @@ -29,6 +29,7 @@ in this Software without prior written authorization from The Open Group. #include #endif #include "Xlibint.h" +#include "reallocarray.h" #include char ** @@ -66,7 +67,7 @@ int *actualCount) /* RETURN */ } if (rep.nFonts) { - flist = Xmalloc (rep.nFonts * sizeof(char *)); + flist = Xmallocarray (rep.nFonts, sizeof(char *)); if (rep.length > 0 && rep.length < (INT_MAX >> 2)) { rlen = rep.length << 2; ch = Xmalloc(rlen + 1); diff --git a/lib/libX11/src/FreeCmap.c b/lib/libX11/src/FreeCmap.c index e2b76fa6f..68496dd88 100644 --- a/lib/libX11/src/FreeCmap.c +++ b/lib/libX11/src/FreeCmap.c @@ -41,12 +41,12 @@ XFreeColormap( LockDisplay(dpy); GetResReq(FreeColormap, cmap, req); - UnlockDisplay(dpy); - SyncHandle(); - #ifdef XCMS _XcmsDeleteCmapRec(dpy, cmap); #endif + UnlockDisplay(dpy); + SyncHandle(); + return 1; } diff --git a/lib/libX11/src/GetAtomNm.c b/lib/libX11/src/GetAtomNm.c index d7f06e365..41ec3bac6 100644 --- a/lib/libX11/src/GetAtomNm.c +++ b/lib/libX11/src/GetAtomNm.c @@ -36,7 +36,6 @@ char *_XGetAtomName( Atom atom) { xResourceReq *req; - char *name; register Entry *table; register int idx; register Entry e; @@ -45,10 +44,7 @@ char *_XGetAtomName( table = dpy->atoms->table; for (idx = TABLESIZE; --idx >= 0; ) { if ((e = *table++) && (e->atom == atom)) { - idx = strlen(EntryName(e)) + 1; - if ((name = Xmalloc(idx))) - strcpy(name, EntryName(e)); - return name; + return strdup(EntryName(e)); } } } diff --git a/lib/libX11/src/GetFPath.c b/lib/libX11/src/GetFPath.c index 87d257615..7d5153b6d 100644 --- a/lib/libX11/src/GetFPath.c +++ b/lib/libX11/src/GetFPath.c @@ -28,6 +28,7 @@ in this Software without prior written authorization from The Open Group. #include #endif #include "Xlibint.h" +#include "reallocarray.h" #include char **XGetFontPath( @@ -49,7 +50,7 @@ char **XGetFontPath( (void) _XReply (dpy, (xReply *) &rep, 0, xFalse); if (rep.nPaths) { - flist = Xmalloc(rep.nPaths * sizeof (char *)); + flist = Xmallocarray(rep.nPaths, sizeof (char *)); if (rep.length < (INT_MAX >> 2)) { nbytes = (unsigned long) rep.length << 2; ch = Xmalloc (nbytes + 1); diff --git a/lib/libX11/src/GetMoEv.c b/lib/libX11/src/GetMoEv.c index ad9c77277..d723f3788 100644 --- a/lib/libX11/src/GetMoEv.c +++ b/lib/libX11/src/GetMoEv.c @@ -28,6 +28,7 @@ in this Software without prior written authorization from The Open Group. #include #endif #include "Xlibint.h" +#include "reallocarray.h" #include XTimeCoord *XGetMotionEvents( @@ -53,7 +54,7 @@ XTimeCoord *XGetMotionEvents( } if (rep.nEvents && (rep.nEvents < (INT_MAX / sizeof(XTimeCoord)))) - tc = Xmalloc(rep.nEvents * sizeof(XTimeCoord)); + tc = Xmallocarray(rep.nEvents, sizeof(XTimeCoord)); if (tc == NULL) { /* server returned either no events or a bad event count */ *nEvents = 0; diff --git a/lib/libX11/src/GetPntMap.c b/lib/libX11/src/GetPntMap.c index 07625f8a0..4219a1101 100644 --- a/lib/libX11/src/GetPntMap.c +++ b/lib/libX11/src/GetPntMap.c @@ -29,6 +29,7 @@ in this Software without prior written authorization from The Open Group. #include #endif #include "Xlibint.h" +#include "reallocarray.h" #include #ifdef MIN /* some systems define this in */ @@ -112,8 +113,7 @@ XGetKeyboardMapping (Display *dpy, nkeysyms = rep.length; if (nkeysyms > 0) { if (nkeysyms < (INT_MAX / sizeof (KeySym))) { - nbytes = nkeysyms * sizeof (KeySym); - mapping = Xmalloc (nbytes); + mapping = Xmallocarray (nkeysyms, sizeof (KeySym)); } if (! mapping) { _XEatDataWords(dpy, rep.length); diff --git a/lib/libX11/src/GetRGBCMap.c b/lib/libX11/src/GetRGBCMap.c index 5d570ad3a..3d1bfa640 100644 --- a/lib/libX11/src/GetRGBCMap.c +++ b/lib/libX11/src/GetRGBCMap.c @@ -33,6 +33,7 @@ from The Open Group. #include #include #include "Xatomtype.h" +#include "reallocarray.h" #include Status XGetRGBColormaps ( @@ -99,7 +100,7 @@ Status XGetRGBColormaps ( /* * allocate array */ - cmaps = Xmalloc (ncmaps * sizeof (XStandardColormap)); + cmaps = Xmallocarray (ncmaps, sizeof (XStandardColormap)); if (!cmaps) { Xfree (data); return False; diff --git a/lib/libX11/src/LiICmaps.c b/lib/libX11/src/LiICmaps.c index 45a2f2fd3..590b1bb07 100644 --- a/lib/libX11/src/LiICmaps.c +++ b/lib/libX11/src/LiICmaps.c @@ -28,6 +28,7 @@ in this Software without prior written authorization from The Open Group. #include #endif #include "Xlibint.h" +#include "reallocarray.h" Colormap *XListInstalledColormaps( register Display *dpy, @@ -50,8 +51,7 @@ Colormap *XListInstalledColormaps( } if (rep.nColormaps) { - nbytes = rep.nColormaps * sizeof(Colormap); - cmaps = Xmalloc(nbytes); + cmaps = Xmallocarray(rep.nColormaps, sizeof(Colormap)); if (! cmaps) { _XEatDataWords(dpy, rep.length); UnlockDisplay(dpy); diff --git a/lib/libX11/src/LiProps.c b/lib/libX11/src/LiProps.c index d9c746563..411fff626 100644 --- a/lib/libX11/src/LiProps.c +++ b/lib/libX11/src/LiProps.c @@ -28,6 +28,7 @@ in this Software without prior written authorization from The Open Group. #include #endif #include "Xlibint.h" +#include "reallocarray.h" Atom *XListProperties( register Display *dpy, @@ -49,8 +50,7 @@ Atom *XListProperties( } if (rep.nProperties) { - nbytes = rep.nProperties * sizeof(Atom); - properties = Xmalloc (nbytes); + properties = Xmallocarray (rep.nProperties, sizeof(Atom)); if (! properties) { _XEatDataWords(dpy, rep.length); UnlockDisplay(dpy); diff --git a/lib/libX11/src/ListExt.c b/lib/libX11/src/ListExt.c index a795041d0..69ae53da0 100644 --- a/lib/libX11/src/ListExt.c +++ b/lib/libX11/src/ListExt.c @@ -28,6 +28,7 @@ in this Software without prior written authorization from The Open Group. #include #endif #include "Xlibint.h" +#include "reallocarray.h" #include char **XListExtensions( @@ -54,7 +55,7 @@ char **XListExtensions( } if (rep.nExtensions) { - list = Xmalloc (rep.nExtensions * sizeof (char *)); + list = Xmallocarray (rep.nExtensions, sizeof (char *)); if (rep.length > 0 && rep.length < (INT_MAX >> 2)) { rlen = rep.length << 2; ch = Xmalloc (rlen + 1); diff --git a/lib/libX11/src/Makefile.am b/lib/libX11/src/Makefile.am index f8c476de9..7430bf410 100644 --- a/lib/libX11/src/Makefile.am +++ b/lib/libX11/src/Makefile.am @@ -239,6 +239,7 @@ libX11_la_SOURCES = \ QuTree.c \ RaiseWin.c \ RdBitF.c \ + reallocarray.h \ RecolorC.c \ ReconfWin.c \ ReconfWM.c \ @@ -366,6 +367,7 @@ endif libX11_la_LDFLAGS = -version-number 6:3:0 -no-undefined libX11_la_LIBADD = \ + $(LTLIBOBJS) \ $(USE_I18N_LIBS) \ $(USE_XCMS_LIBS) \ $(USE_XKB_LIBS) \ @@ -411,9 +413,9 @@ endif MAKE_LINT_LIB KEYSYMDEFS=@KEYSYMDEFS@ -ks_tables.h: $(KEYSYMDEFS) $(top_builddir)/src/util/makekeys$(EXEEXT) +ks_tables.h: $(KEYSYMDEFS) $(top_builddir)/src/util/makekeys$(EXEEXT_FOR_BUILD) $(top_builddir)/src/util/makekeys $(KEYSYMDEFS) > ks_tables_h mv ks_tables_h $@ -$(top_builddir)/src/util/makekeys$(EXEEXT): $(top_builddir)/src/util/makekeys.c +$(top_builddir)/src/util/makekeys$(EXEEXT_FOR_BUILD): $(top_builddir)/src/util/makekeys.c cd util && $(MAKE) diff --git a/lib/libX11/src/Makefile.in b/lib/libX11/src/Makefile.in index 6a652d78a..dc62ad0a8 100644 --- a/lib/libX11/src/Makefile.in +++ b/lib/libX11/src/Makefile.in @@ -60,7 +60,7 @@ host_triplet = @host@ @MAKE_LINT_LIB_TRUE@am__append_3 = $(lintlib_DATA) subdir = src DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(srcdir)/config.h.in $(top_srcdir)/depcomp + $(srcdir)/config.h.in $(top_srcdir)/depcomp reallocarray.c ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_define_dir.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ @@ -113,8 +113,8 @@ libX11_xcb_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libX11_xcb_la_LDFLAGS) $(LDFLAGS) -o $@ am__DEPENDENCIES_1 = -libX11_la_DEPENDENCIES = $(USE_I18N_LIBS) $(USE_XCMS_LIBS) \ - $(USE_XKB_LIBS) $(am__DEPENDENCIES_1) +libX11_la_DEPENDENCIES = $(LTLIBOBJS) $(USE_I18N_LIBS) \ + $(USE_XCMS_LIBS) $(USE_XKB_LIBS) $(am__DEPENDENCIES_1) am__libX11_la_SOURCES_DIST = AllCells.c AllowEv.c AllPlanes.c \ AutoRep.c Backgnd.c BdrWidth.c Bell.c Border.c ChAccCon.c \ ChActPGb.c ChClMode.c ChCmap.c ChGC.c ChKeyCon.c ChkIfEv.c \ @@ -149,23 +149,23 @@ am__libX11_la_SOURCES_DIST = AllCells.c AllowEv.c AllPlanes.c \ PropAlloc.c PutBEvent.c PutImage.c Quarks.c QuBest.c QuColor.c \ QuColors.c QuCurShp.c QuExt.c QuKeybd.c QuPntr.c QuStipShp.c \ QuTextE16.c QuTextExt.c QuTileShp.c QuTree.c RaiseWin.c \ - RdBitF.c RecolorC.c ReconfWin.c ReconfWM.c Region.c RegstFlt.c \ - RepWindow.c RestackWs.c RotProp.c ScrResStr.c SelInput.c \ - SendEvent.c SetBack.c SetClMask.c SetClOrig.c SetCRects.c \ - SetDashes.c SetFont.c SetFore.c SetFPath.c SetFunc.c \ - SetHints.c SetIFocus.c SetLocale.c SetLStyle.c SetNrmHint.c \ - SetPMask.c SetPntMap.c SetRGBCMap.c SetSOwner.c SetSSaver.c \ - SetState.c SetStCmap.c SetStip.c SetTile.c SetTSOrig.c \ - SetTxtProp.c SetWMCMapW.c SetWMProto.c StBytes.c StColor.c \ - StColors.c StName.c StNColor.c StrKeysym.c StrToText.c Sync.c \ - Synchro.c Text16.c Text.c TextExt16.c TextExt.c TextToStr.c \ - TrCoords.c UndefCurs.c UngrabBut.c UngrabKbd.c UngrabKey.c \ - UngrabPtr.c UngrabSvr.c UninsCmap.c UnldFont.c UnmapSubs.c \ - UnmapWin.c utlist.h VisUtil.c WarpPtr.c Window.c WinEvent.c \ - Withdraw.c WMGeom.c WMProps.c WrBitF.c Xatomtype.h xcb_disp.c \ - xcb_io.c Xintatom.h Xintconn.h XlibAsync.c XlibInt.c \ - Xprivate.h XomGeneric.h Xresinternal.h Xrm.c Xxcbint.h \ - os2Stubs.c UIThrStubs.c + RdBitF.c reallocarray.h RecolorC.c ReconfWin.c ReconfWM.c \ + Region.c RegstFlt.c RepWindow.c RestackWs.c RotProp.c \ + ScrResStr.c SelInput.c SendEvent.c SetBack.c SetClMask.c \ + SetClOrig.c SetCRects.c SetDashes.c SetFont.c SetFore.c \ + SetFPath.c SetFunc.c SetHints.c SetIFocus.c SetLocale.c \ + SetLStyle.c SetNrmHint.c SetPMask.c SetPntMap.c SetRGBCMap.c \ + SetSOwner.c SetSSaver.c SetState.c SetStCmap.c SetStip.c \ + SetTile.c SetTSOrig.c SetTxtProp.c SetWMCMapW.c SetWMProto.c \ + StBytes.c StColor.c StColors.c StName.c StNColor.c StrKeysym.c \ + StrToText.c Sync.c Synchro.c Text16.c Text.c TextExt16.c \ + TextExt.c TextToStr.c TrCoords.c UndefCurs.c UngrabBut.c \ + UngrabKbd.c UngrabKey.c UngrabPtr.c UngrabSvr.c UninsCmap.c \ + UnldFont.c UnmapSubs.c UnmapWin.c utlist.h VisUtil.c WarpPtr.c \ + Window.c WinEvent.c Withdraw.c WMGeom.c WMProps.c WrBitF.c \ + Xatomtype.h xcb_disp.c xcb_io.c Xintatom.h Xintconn.h \ + XlibAsync.c XlibInt.c Xprivate.h XomGeneric.h Xresinternal.h \ + Xrm.c Xxcbint.h os2Stubs.c UIThrStubs.c @OS2_TRUE@am__objects_1 = os2Stubs.lo @THRSTUBS_TRUE@am__objects_2 = UIThrStubs.lo am_libX11_la_OBJECTS = AllCells.lo AllowEv.lo AllPlanes.lo AutoRep.lo \ @@ -347,6 +347,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ @@ -573,23 +574,23 @@ libX11_la_SOURCES = AllCells.c AllowEv.c AllPlanes.c AutoRep.c \ PropAlloc.c PutBEvent.c PutImage.c Quarks.c QuBest.c QuColor.c \ QuColors.c QuCurShp.c QuExt.c QuKeybd.c QuPntr.c QuStipShp.c \ QuTextE16.c QuTextExt.c QuTileShp.c QuTree.c RaiseWin.c \ - RdBitF.c RecolorC.c ReconfWin.c ReconfWM.c Region.c RegstFlt.c \ - RepWindow.c RestackWs.c RotProp.c ScrResStr.c SelInput.c \ - SendEvent.c SetBack.c SetClMask.c SetClOrig.c SetCRects.c \ - SetDashes.c SetFont.c SetFore.c SetFPath.c SetFunc.c \ - SetHints.c SetIFocus.c SetLocale.c SetLStyle.c SetNrmHint.c \ - SetPMask.c SetPntMap.c SetRGBCMap.c SetSOwner.c SetSSaver.c \ - SetState.c SetStCmap.c SetStip.c SetTile.c SetTSOrig.c \ - SetTxtProp.c SetWMCMapW.c SetWMProto.c StBytes.c StColor.c \ - StColors.c StName.c StNColor.c StrKeysym.c StrToText.c Sync.c \ - Synchro.c Text16.c Text.c TextExt16.c TextExt.c TextToStr.c \ - TrCoords.c UndefCurs.c UngrabBut.c UngrabKbd.c UngrabKey.c \ - UngrabPtr.c UngrabSvr.c UninsCmap.c UnldFont.c UnmapSubs.c \ - UnmapWin.c utlist.h VisUtil.c WarpPtr.c Window.c WinEvent.c \ - Withdraw.c WMGeom.c WMProps.c WrBitF.c Xatomtype.h xcb_disp.c \ - xcb_io.c Xintatom.h Xintconn.h XlibAsync.c XlibInt.c \ - Xprivate.h XomGeneric.h Xresinternal.h Xrm.c Xxcbint.h \ - $(am__append_1) $(am__append_2) + RdBitF.c reallocarray.h RecolorC.c ReconfWin.c ReconfWM.c \ + Region.c RegstFlt.c RepWindow.c RestackWs.c RotProp.c \ + ScrResStr.c SelInput.c SendEvent.c SetBack.c SetClMask.c \ + SetClOrig.c SetCRects.c SetDashes.c SetFont.c SetFore.c \ + SetFPath.c SetFunc.c SetHints.c SetIFocus.c SetLocale.c \ + SetLStyle.c SetNrmHint.c SetPMask.c SetPntMap.c SetRGBCMap.c \ + SetSOwner.c SetSSaver.c SetState.c SetStCmap.c SetStip.c \ + SetTile.c SetTSOrig.c SetTxtProp.c SetWMCMapW.c SetWMProto.c \ + StBytes.c StColor.c StColors.c StName.c StNColor.c StrKeysym.c \ + StrToText.c Sync.c Synchro.c Text16.c Text.c TextExt16.c \ + TextExt.c TextToStr.c TrCoords.c UndefCurs.c UngrabBut.c \ + UngrabKbd.c UngrabKey.c UngrabPtr.c UngrabSvr.c UninsCmap.c \ + UnldFont.c UnmapSubs.c UnmapWin.c utlist.h VisUtil.c WarpPtr.c \ + Window.c WinEvent.c Withdraw.c WMGeom.c WMProps.c WrBitF.c \ + Xatomtype.h xcb_disp.c xcb_io.c Xintatom.h Xintconn.h \ + XlibAsync.c XlibInt.c Xprivate.h XomGeneric.h Xresinternal.h \ + Xrm.c Xxcbint.h $(am__append_1) $(am__append_2) x11datadir = @X11_DATADIR@ x11data_DATA = XErrorDB EXTRA_DIST = \ @@ -608,6 +609,7 @@ libX11_xcb_la_LDFLAGS = -version-number 1:0:0 -no-undefined @XKB_TRUE@USE_XKB_LIBS = $(XKB_LIBS) libX11_la_LDFLAGS = -version-number 6:3:0 -no-undefined libX11_la_LIBADD = \ + $(LTLIBOBJS) \ $(USE_I18N_LIBS) \ $(USE_XCMS_LIBS) \ $(USE_XKB_LIBS) \ @@ -716,6 +718,7 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/reallocarray.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AllCells.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AllPlanes.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AllowEv.Plo@am__quote@ @@ -1277,7 +1280,7 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-recursive - -rm -rf ./$(DEPDIR) + -rm -rf $(DEPDIR) ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-tags @@ -1323,7 +1326,7 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive - -rm -rf ./$(DEPDIR) + -rm -rf $(DEPDIR) ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -1383,11 +1386,11 @@ preprocess: $(patsubst %.c,%.ii,$(libX11_la_SOURCES)) @MAKE_LINT_LIB_TRUE@$(LINTLIB): $(libX11_la_SOURCES) @MAKE_LINT_LIB_TRUE@ $(AM_V_GEN)$(LINT) -y -oX11 -x $(ALL_LINT_FLAGS) $(lintlib_src) -ks_tables.h: $(KEYSYMDEFS) $(top_builddir)/src/util/makekeys$(EXEEXT) +ks_tables.h: $(KEYSYMDEFS) $(top_builddir)/src/util/makekeys$(EXEEXT_FOR_BUILD) $(top_builddir)/src/util/makekeys $(KEYSYMDEFS) > ks_tables_h mv ks_tables_h $@ -$(top_builddir)/src/util/makekeys$(EXEEXT): $(top_builddir)/src/util/makekeys.c +$(top_builddir)/src/util/makekeys$(EXEEXT_FOR_BUILD): $(top_builddir)/src/util/makekeys.c cd util && $(MAKE) # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/lib/libX11/src/ModMap.c b/lib/libX11/src/ModMap.c index ca15dde25..4ceb07f38 100644 --- a/lib/libX11/src/ModMap.c +++ b/lib/libX11/src/ModMap.c @@ -28,6 +28,7 @@ in this Software without prior written authorization from The Open Group. #include #endif #include "Xlibint.h" +#include "reallocarray.h" #include XModifierKeymap * @@ -100,7 +101,7 @@ XNewModifiermap(int keyspermodifier) if (res) { res->max_keypermod = keyspermodifier; res->modifiermap = (keyspermodifier > 0 ? - Xmalloc(8 * keyspermodifier) + Xmallocarray(keyspermodifier, 8) : (KeyCode *) NULL); if (keyspermodifier && (res->modifiermap == NULL)) { Xfree(res); diff --git a/lib/libX11/src/PixFormats.c b/lib/libX11/src/PixFormats.c index 6d9f64d2c..f9fd3e44a 100644 --- a/lib/libX11/src/PixFormats.c +++ b/lib/libX11/src/PixFormats.c @@ -28,6 +28,7 @@ in this Software without prior written authorization from The Open Group. #include #endif #include "Xlibint.h" +#include "reallocarray.h" #include /* @@ -39,7 +40,7 @@ XPixmapFormatValues *XListPixmapFormats ( int *count) /* RETURN */ { XPixmapFormatValues *formats = - Xmalloc(dpy->nformats * sizeof (XPixmapFormatValues)); + Xmallocarray(dpy->nformats, sizeof (XPixmapFormatValues)); if (formats) { register int i; diff --git a/lib/libX11/src/PolyReg.c b/lib/libX11/src/PolyReg.c index 7266d3b0b..0884e1ea4 100644 --- a/lib/libX11/src/PolyReg.c +++ b/lib/libX11/src/PolyReg.c @@ -55,6 +55,7 @@ SOFTWARE. #include "Xutil.h" #include #include "poly.h" +#include "reallocarray.h" /* * InsertEdgeInET @@ -409,7 +410,7 @@ static int PtsToRegion( numRects = ((numFullPtBlocks * NUMPTSTOBUFFER) + iCurPtBlock) >> 1; - if (!(reg->rects = Xrealloc(reg->rects, sizeof(BOX) * numRects))) { + if (!(reg->rects = Xreallocarray(reg->rects, numRects, sizeof(BOX)))) { Xfree(prevRects); return(0); } @@ -519,7 +520,7 @@ XPolygonRegion( if (Count < 2) return region; - if (! (pETEs = Xmalloc(sizeof(EdgeTableEntry) * Count))) { + if (! (pETEs = Xmallocarray(Count, sizeof(EdgeTableEntry)))) { XDestroyRegion(region); return (Region) NULL; } diff --git a/lib/libX11/src/PutImage.c b/lib/libX11/src/PutImage.c index 13cbba356..1954d0863 100644 --- a/lib/libX11/src/PutImage.c +++ b/lib/libX11/src/PutImage.c @@ -32,6 +32,7 @@ in this Software without prior written authorization from The Open Group. #include #include "Cr.h" #include "ImUtil.h" +#include "reallocarray.h" #if defined(__STDC__) && ((defined(sun) && defined(SVR4)) || defined(WIN32)) #define RConst /**/ @@ -771,7 +772,7 @@ SendZImage( (req_yoffset * image->bytes_per_line) + ((req_xoffset * image->bits_per_pixel) >> 3); if ((image->bits_per_pixel == 4) && ((unsigned int) req_xoffset & 0x01)) { - if (! (shifted_src = Xmalloc(req->height * image->bytes_per_line))) { + if (! (shifted_src = Xmallocarray(req->height, image->bytes_per_line))) { UnGetReq(PutImage); return; } @@ -991,7 +992,7 @@ XPutImage ( img.bits_per_pixel = dest_bits_per_pixel; img.bytes_per_line = ROUNDUP((dest_bits_per_pixel * width), dest_scanline_pad) >> 3; - img.data = Xmalloc(img.bytes_per_line * height); + img.data = Xmallocarray(height, img.bytes_per_line); if (img.data == NULL) return 0; _XInitImageFuncPtrs(&img); diff --git a/lib/libX11/src/QuColors.c b/lib/libX11/src/QuColors.c index 0b9bc508f..10cf18257 100644 --- a/lib/libX11/src/QuColors.c +++ b/lib/libX11/src/QuColors.c @@ -28,6 +28,7 @@ in this Software without prior written authorization from The Open Group. #include #endif #include "Xlibint.h" +#include "reallocarray.h" static void _XQueryColors( @@ -50,9 +51,9 @@ _XQueryColors( /* XXX this isn't very efficient */ if (_XReply(dpy, (xReply *) &rep, 0, xFalse) != 0) { - unsigned long nbytes = (long) ncolors * SIZEOF(xrgb); - xrgb *color = Xmalloc(nbytes); + xrgb *color = Xmallocarray(ncolors, sizeof(xrgb)); if (color != NULL) { + unsigned long nbytes = (long) ncolors * SIZEOF(xrgb); _XRead(dpy, (char *) color, nbytes); diff --git a/lib/libX11/src/QuTree.c b/lib/libX11/src/QuTree.c index 8da2ae261..9ceef781a 100644 --- a/lib/libX11/src/QuTree.c +++ b/lib/libX11/src/QuTree.c @@ -28,6 +28,7 @@ in this Software without prior written authorization from The Open Group. #include #endif #include "Xlibint.h" +#include "reallocarray.h" Status XQueryTree ( register Display *dpy, @@ -51,8 +52,7 @@ Status XQueryTree ( *children = (Window *) NULL; if (rep.nChildren != 0) { - nbytes = rep.nChildren * sizeof(Window); - *children = Xmalloc(nbytes); + *children = Xmallocarray(rep.nChildren, sizeof(Window)); if (! *children) { _XEatDataWords(dpy, rep.length); UnlockDisplay(dpy); diff --git a/lib/libX11/src/Quarks.c b/lib/libX11/src/Quarks.c index cfdfe07aa..1068a86c9 100644 --- a/lib/libX11/src/Quarks.c +++ b/lib/libX11/src/Quarks.c @@ -55,6 +55,7 @@ from The Open Group. #include "Xlibint.h" #include #include "Xresinternal.h" +#include "reallocarray.h" /* Not cost effective, at least for vanilla MIT clients */ /* #define PERMQ */ @@ -288,15 +289,15 @@ nomatch: if (!rehash) q = nextQuark; if (!(q & QUANTUMMASK)) { if (!(q & CHUNKMASK)) { - if (!(new = Xrealloc(stringTable, - sizeof(XrmString *) * - ((q >> QUANTUMSHIFT) + CHUNKPER)))) + if (!(new = Xreallocarray(stringTable, + (q >> QUANTUMSHIFT) + CHUNKPER, + sizeof(XrmString *)))) goto fail; stringTable = (XrmString **)new; #ifdef PERMQ - if (!(new = Xrealloc(permTable, - sizeof(Bits *) * - ((q >> QUANTUMSHIFT) + CHUNKPER)))) + if (!(new = Xreallocarray(permTable, + (q >> QUANTUMSHIFT) + CHUNKPER, + sizeof(Bits *)))) goto fail; permTable = (Bits **)new; #endif diff --git a/lib/libX11/src/RdBitF.c b/lib/libX11/src/RdBitF.c index 8a1ad85f1..621304083 100644 --- a/lib/libX11/src/RdBitF.c +++ b/lib/libX11/src/RdBitF.c @@ -49,7 +49,7 @@ from The Open Group. #include "Xutil.h" #include #include - +#include "reallocarray.h" #define MAX_SIZE 255 @@ -190,10 +190,10 @@ XReadBitmapFileData ( bytes_per_line = (ww+7)/8 + padding; - size = bytes_per_line * hh; - bits = Xmalloc (size); + bits = Xmallocarray (hh, bytes_per_line); if (!bits) RETURN (BitmapNoMemory); + size = bytes_per_line * hh; if (version10p) { unsigned char *ptr; diff --git a/lib/libX11/src/Region.c b/lib/libX11/src/Region.c index d5dd5561f..d6d9da9de 100644 --- a/lib/libX11/src/Region.c +++ b/lib/libX11/src/Region.c @@ -77,6 +77,7 @@ SOFTWARE. #include "Xutil.h" #include #include "poly.h" +#include "reallocarray.h" #ifdef DEBUG #include @@ -521,8 +522,8 @@ miRegionCopy( { BOX *prevRects = dstrgn->rects; - dstrgn->rects = Xrealloc(dstrgn->rects, - rgn->numRects * (sizeof(BOX))); + dstrgn->rects = Xreallocarray(dstrgn->rects, + rgn->numRects, sizeof(BOX)); if (! dstrgn->rects) { Xfree(prevRects); dstrgn->size = 0; @@ -790,7 +791,7 @@ miRegionOp( */ newReg->size = max(reg1->numRects,reg2->numRects) * 2; - if (! (newReg->rects = Xmalloc (sizeof(BoxRec) * newReg->size))) { + if (! (newReg->rects = Xmallocarray (newReg->size, sizeof(BoxRec)))) { newReg->size = 0; return; } @@ -980,8 +981,8 @@ miRegionOp( if (REGION_NOT_EMPTY(newReg)) { BoxPtr prev_rects = newReg->rects; - newReg->rects = Xrealloc (newReg->rects, - sizeof(BoxRec) * newReg->numRects); + newReg->rects = Xreallocarray (newReg->rects, + newReg->numRects, sizeof(BoxRec)); if (! newReg->rects) newReg->rects = prev_rects; else diff --git a/lib/libX11/src/SetHints.c b/lib/libX11/src/SetHints.c index 626a2b3ab..bc46498a3 100644 --- a/lib/libX11/src/SetHints.c +++ b/lib/libX11/src/SetHints.c @@ -54,6 +54,7 @@ SOFTWARE. #include "Xatomtype.h" #include #include +#include "reallocarray.h" #define safestrlen(s) ((s) ? strlen(s) : 0) @@ -181,10 +182,8 @@ XSetIconSizes ( { register int i; xPropIconSize *pp, *prop; -#define size_of_the_real_thing sizeof /* avoid grepping screwups */ - unsigned nbytes = count * size_of_the_real_thing(xPropIconSize); -#undef size_of_the_real_thing - if ((prop = pp = Xmalloc (nbytes))) { + + if ((prop = pp = Xmallocarray (count, sizeof(xPropIconSize)))) { for (i = 0; i < count; i++) { pp->minWidth = list->min_width; pp->minHeight = list->min_height; diff --git a/lib/libX11/src/SetRGBCMap.c b/lib/libX11/src/SetRGBCMap.c index a52de261b..00b8a588a 100644 --- a/lib/libX11/src/SetRGBCMap.c +++ b/lib/libX11/src/SetRGBCMap.c @@ -34,6 +34,7 @@ from The Open Group. #include #include "Xatomtype.h" #include +#include "reallocarray.h" void XSetRGBColormaps ( Display *dpy, @@ -55,9 +56,9 @@ void XSetRGBColormaps ( /* * if doing more than one, allocate scratch space for it */ - if ((count > 1) && ((data = ((xPropStandardColormap *) - Xmalloc(count*sizeof(xPropStandardColormap)))) - != NULL)) { + if ((count > 1) && + ((data = (Xmallocarray(count, + sizeof(xPropStandardColormap)))) != NULL)) { alloced_scratch_space = True; } else { data = &tmpdata; diff --git a/lib/libX11/src/TextToStr.c b/lib/libX11/src/TextToStr.c index de9897ae1..eb1220cab 100644 --- a/lib/libX11/src/TextToStr.c +++ b/lib/libX11/src/TextToStr.c @@ -31,7 +31,7 @@ in this Software without prior written authorization from The Open Group. #include #include #include - +#include "reallocarray.h" /* * XTextPropertyToStringList - set list and count to contain data stored in @@ -72,7 +72,7 @@ Status XTextPropertyToStringList ( /* * allocate list and duplicate */ - list = Xmalloc (nelements * sizeof (char *)); + list = Xmallocarray (nelements, sizeof (char *)); if (!list) return False; start = Xmalloc ((datalen + 1) * sizeof (char)); /* for */ diff --git a/lib/libX11/src/VisUtil.c b/lib/libX11/src/VisUtil.c index 17ca3631f..c2ea3d109 100644 --- a/lib/libX11/src/VisUtil.c +++ b/lib/libX11/src/VisUtil.c @@ -30,6 +30,8 @@ in this Software without prior written authorization from The Open Group. #include "Xlibint.h" #include "Xutil.h" #include +#include "reallocarray.h" + /* * This procedure returns a list of visual information structures * that match the specified attributes given in the visual information @@ -75,7 +77,7 @@ XVisualInfo *XGetVisualInfo( count = 0; total = 10; - if (! (vip_base = vip = Xmalloc(sizeof(XVisualInfo) * total))) { + if (! (vip_base = vip = Xmallocarray(total, sizeof(XVisualInfo)))) { UnlockDisplay(dpy); return (XVisualInfo *) NULL; } @@ -131,8 +133,8 @@ XVisualInfo *XGetVisualInfo( { XVisualInfo *old_vip_base = vip_base; total += 10; - if (! (vip_base = Xrealloc(vip_base, - sizeof(XVisualInfo) * total))) { + if (! (vip_base = Xreallocarray(vip_base, total, + sizeof(XVisualInfo)))) { Xfree(old_vip_base); UnlockDisplay(dpy); return (XVisualInfo *) NULL; diff --git a/lib/libX11/src/WrBitF.c b/lib/libX11/src/WrBitF.c index 75a93a79d..0d4fb654d 100644 --- a/lib/libX11/src/WrBitF.c +++ b/lib/libX11/src/WrBitF.c @@ -33,6 +33,7 @@ from The Open Group. #include #include "Xutil.h" #include +#include "reallocarray.h" #define ERR_RETURN NULL @@ -53,7 +54,7 @@ static char *Format_Image( bytes_per_line = (width+7)/8; *resultsize = bytes_per_line * height; /* Calculate size of data */ - data = Xmalloc( *resultsize ); /* Get space for data */ + data = Xmallocarray(bytes_per_line, height); /* Get space for data */ if (!data) return(ERR_RETURN); diff --git a/lib/libX11/src/XlibInt.c b/lib/libX11/src/XlibInt.c index 903ca88fe..4e45e62b2 100644 --- a/lib/libX11/src/XlibInt.c +++ b/lib/libX11/src/XlibInt.c @@ -39,6 +39,7 @@ from The Open Group. #endif #include "Xlibint.h" #include "Xprivate.h" +#include "reallocarray.h" #include #include #include @@ -46,9 +47,28 @@ from The Open Group. #include #endif +/* Needed for FIONREAD on Solaris */ +#ifdef HAVE_SYS_FILIO_H +#include +#endif + +/* Needed for FIONREAD on Cygwin */ +#ifdef HAVE_SYS_SOCKET_H +#include +#endif + +/* Needed for ioctl() on Solaris */ +#ifdef HAVE_UNISTD_H +#include +#endif + #ifdef XTHREADS #include "locking.h" +#ifdef HAVE_SYS_IOCTL_H +#include +#endif + /* these pointers get initialized by XInitThreads */ LockInfoPtr _Xglobal_lock = NULL; void (*_XCreateMutex_fn)(LockInfoPtr) = NULL; @@ -349,7 +369,7 @@ _XRegisterInternalConnection( new_conni = Xmalloc(sizeof(struct _XConnectionInfo)); if (!new_conni) return 0; - new_conni->watch_data = Xmalloc(dpy->watcher_count * sizeof(XPointer)); + new_conni->watch_data = Xmallocarray(dpy->watcher_count, sizeof(XPointer)); if (!new_conni->watch_data) { Xfree(new_conni); return 0; @@ -435,7 +455,7 @@ XInternalConnectionNumbers( count = 0; for (info_list=dpy->im_fd_info; info_list; info_list=info_list->next) count++; - fd_list = Xmalloc (count * sizeof(int)); + fd_list = Xmallocarray (count, sizeof(int)); if (!fd_list) { UnlockDisplay(dpy); return 0; @@ -508,8 +528,8 @@ XAddConnectionWatch( /* allocate new watch data */ for (info_list=dpy->im_fd_info; info_list; info_list=info_list->next) { - wd_array = Xrealloc(info_list->watch_data, - (dpy->watcher_count + 1) * sizeof(XPointer)); + wd_array = Xreallocarray(info_list->watch_data, + dpy->watcher_count + 1, sizeof(XPointer)); if (!wd_array) { UnlockDisplay(dpy); return 0; @@ -1233,6 +1253,21 @@ _XWireToEvent( return(True); } +static int +SocketBytesReadable(Display *dpy) +{ + int bytes = 0, last_error; +#ifdef WIN32 + last_error = WSAGetLastError(); + ioctlsocket(ConnectionNumber(dpy), FIONREAD, &bytes); + WSASetLastError(last_error); +#else + last_error = errno; + ioctl(ConnectionNumber(dpy), FIONREAD, &bytes); + errno = last_error; +#endif + return bytes; +} /* * _XDefaultIOError - Default fatal system error reporting routine. Called @@ -1241,25 +1276,35 @@ _XWireToEvent( _X_NORETURN int _XDefaultIOError( Display *dpy) { - if (ECHECK(EPIPE)) { - (void) fprintf (stderr, - "X connection to %s broken (explicit kill or server shutdown).\r\n", - DisplayString (dpy)); + int killed = ECHECK(EPIPE); + + /* + * If the socket was closed on the far end, the final recvmsg in + * xcb will have thrown EAGAIN because we're non-blocking. Detect + * this to get the more informative error message. + */ + if (ECHECK(EAGAIN) && SocketBytesReadable(dpy) <= 0) + killed = True; + + if (killed) { + fprintf (stderr, + "X connection to %s broken (explicit kill or server shutdown).\r\n", + DisplayString (dpy)); } else { - (void) fprintf (stderr, - "XIO: fatal IO error %d (%s) on X server \"%s\"\r\n", + fprintf (stderr, + "XIO: fatal IO error %d (%s) on X server \"%s\"\r\n", #ifdef WIN32 - WSAGetLastError(), strerror(WSAGetLastError()), + WSAGetLastError(), strerror(WSAGetLastError()), #else - errno, strerror (errno), + errno, strerror (errno), #endif - DisplayString (dpy)); - (void) fprintf (stderr, - " after %lu requests (%lu known processed) with %d events remaining.\r\n", - NextRequest(dpy) - 1, LastKnownRequestProcessed(dpy), - QLength(dpy)); + DisplayString (dpy)); + fprintf (stderr, + " after %lu requests (%lu known processed) with %d events remaining.\r\n", + NextRequest(dpy) - 1, LastKnownRequestProcessed(dpy), + QLength(dpy)); + } - } exit(1); /*NOTREACHED*/ } diff --git a/lib/libX11/src/config.h.in b/lib/libX11/src/config.h.in index e3738bb8f..aca5cff27 100644 --- a/lib/libX11/src/config.h.in +++ b/lib/libX11/src/config.h.in @@ -42,6 +42,9 @@ /* Define to 1 if you have a working `mmap' system call. */ #undef HAVE_MMAP +/* Define to 1 if you have the `reallocarray' function. */ +#undef HAVE_REALLOCARRAY + /* Define to 1 if you have the `seteuid' function. */ #undef HAVE_SETEUID @@ -57,21 +60,36 @@ /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H +/* Define to 1 if you have the `strcasecmp' function. */ +#undef HAVE_STRCASECMP + /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H +/* Define to 1 if you have the `strlcpy' function. */ +#undef HAVE_STRLCPY + /* Define to 1 if you have the `strtol' function. */ #undef HAVE_STRTOL +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_FILIO_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_IOCTL_H + /* Define to 1 if you have the header file. */ #undef HAVE_SYS_PARAM_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SELECT_H +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_SOCKET_H + /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H @@ -209,6 +227,17 @@ /* Whether libX11 needs to use MT safe API's */ #undef XUSE_MTSAFE_API +/* Enable large inode numbers on Mac OS X 10.5. */ +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif + +/* Number of bits in a file offset, on hosts where this is settable. */ +#undef _FILE_OFFSET_BITS + +/* Define for large files, on AIX-style hosts. */ +#undef _LARGE_FILES + /* Define to 1 if on MINIX. */ #undef _MINIX diff --git a/lib/libX11/src/reallocarray.c b/lib/libX11/src/reallocarray.c new file mode 100644 index 000000000..08a8bb05d --- /dev/null +++ b/lib/libX11/src/reallocarray.c @@ -0,0 +1,43 @@ +/* $OpenBSD: reallocarray.c,v 1.1 2019/08/04 13:34:54 matthieu Exp $ */ +/* + * Copyright (c) 2008 Otto Moerbeek + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include +#include +#include "reallocarray.h" + +/* + * This is sqrt(SIZE_MAX+1), as s1*s2 <= SIZE_MAX + * if both s1 < MUL_NO_OVERFLOW and s2 < MUL_NO_OVERFLOW + */ +#define MUL_NO_OVERFLOW ((size_t)1 << (sizeof(size_t) * 4)) + +void * +xreallocarray(void *optr, size_t nmemb, size_t size) +{ + if ((nmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) && + nmemb > 0 && SIZE_MAX / nmemb < size) { + errno = ENOMEM; + return NULL; + } + return realloc(optr, size * nmemb); +} diff --git a/lib/libX11/src/reallocarray.h b/lib/libX11/src/reallocarray.h new file mode 100644 index 000000000..32f535b6a --- /dev/null +++ b/lib/libX11/src/reallocarray.h @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * + * 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 (including the next + * paragraph) 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 + * THE AUTHORS OR COPYRIGHT HOLDERS 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. + */ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include + +#ifndef HAVE_REALLOCARRAY +extern _X_HIDDEN void *xreallocarray(void *optr, size_t nmemb, size_t size); +# define reallocarray(ptr, n, size) xreallocarray((ptr), (n), (size)) +#endif + +#if defined(MALLOC_0_RETURNS_NULL) || defined(__clang_analyzer__) +# define Xreallocarray(ptr, n, size) \ + reallocarray((ptr), ((n) == 0 ? 1 : (n)), size) +#else +# define Xreallocarray(ptr, n, size) reallocarray((ptr), (n), (size)) +#endif + +#define Xmallocarray(n, size) Xreallocarray(NULL, (n), (size)) diff --git a/lib/libX11/src/util/Makefile.am b/lib/libX11/src/util/Makefile.am index 79962d47e..ba2dd3709 100644 --- a/lib/libX11/src/util/Makefile.am +++ b/lib/libX11/src/util/Makefile.am @@ -11,7 +11,9 @@ AM_CPPFLAGS = \ CC = @CC_FOR_BUILD@ CPPFLAGS = @CPPFLAGS_FOR_BUILD@ CFLAGS = @CFLAGS_FOR_BUILD@ -LDFLAGS = @LDFLAGS_FOR_BUILD@ +LDFLAGS = @LDFLAGS_FOR_BUILD@ -all-static +LIBS = +EXEEXT = @EXEEXT_FOR_BUILD@ EXTRA_DIST = mkks.sh diff --git a/lib/libX11/src/util/Makefile.in b/lib/libX11/src/util/Makefile.in index 5a7b48a86..3bc718d9c 100644 --- a/lib/libX11/src/util/Makefile.in +++ b/lib/libX11/src/util/Makefile.in @@ -155,7 +155,8 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ -EXEEXT = @EXEEXT@ +EXEEXT = @EXEEXT_FOR_BUILD@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ @@ -171,10 +172,10 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ KEYSYMDEFS = @KEYSYMDEFS@ LAUNCHD = @LAUNCHD@ LD = @LD@ -LDFLAGS = @LDFLAGS_FOR_BUILD@ +LDFLAGS = @LDFLAGS_FOR_BUILD@ -all-static LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ +LIBS = LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ diff --git a/lib/libX11/src/util/makekeys.c b/lib/libX11/src/util/makekeys.c index 5613e42ff..bcb5b7d59 100644 --- a/lib/libX11/src/util/makekeys.c +++ b/lib/libX11/src/util/makekeys.c @@ -28,17 +28,22 @@ from The Open Group. /* Constructs hash tables for XStringToKeysym and XKeysymToString. */ -#include -#include -#include -#include +#ifdef HAVE_CONFIG_H +#include +#endif + #include #include +#include #include "../Xresinternal.h" #define KTNUM 4000 +#define XK_VoidSymbol 0xffffff /* Void symbol */ + +typedef unsigned long KeySym; + static struct info { char *name; KeySym val; diff --git a/lib/libX11/src/xcms/CvCols.c b/lib/libX11/src/xcms/CvCols.c index 87d49311c..00bf8b242 100644 --- a/lib/libX11/src/xcms/CvCols.c +++ b/lib/libX11/src/xcms/CvCols.c @@ -39,6 +39,7 @@ #include "Xlibint.h" #include "Xcmsint.h" #include "Cv.h" +#include "reallocarray.h" /* * LOCAL DEFINES @@ -796,7 +797,9 @@ XcmsConvertColors( * Make copy of array of color specifications */ if (nColors > 1) { - pColors_tmp = Xmalloc(nColors * sizeof(XcmsColor)); + pColors_tmp = Xmallocarray(nColors, sizeof(XcmsColor)); + if (pColors_tmp == NULL) + return(XcmsFailure); } else { pColors_tmp = &Color1; } diff --git a/lib/libX11/src/xcms/Makefile.in b/lib/libX11/src/xcms/Makefile.in index b527548ab..0b411d546 100644 --- a/lib/libX11/src/xcms/Makefile.in +++ b/lib/libX11/src/xcms/Makefile.in @@ -195,6 +195,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ diff --git a/lib/libX11/src/xcms/StCols.c b/lib/libX11/src/xcms/StCols.c index 42a29cd7f..22d6a10bc 100644 --- a/lib/libX11/src/xcms/StCols.c +++ b/lib/libX11/src/xcms/StCols.c @@ -38,6 +38,7 @@ #include "Xlibint.h" #include "Xcmsint.h" #include "Cv.h" +#include "reallocarray.h" /************************************************************************ @@ -85,7 +86,9 @@ XcmsStoreColors( * overwrite the contents. */ if (nColors > 1) { - pColors_tmp = Xmalloc(nColors * sizeof(XcmsColor)); + pColors_tmp = Xmallocarray(nColors, sizeof(XcmsColor)); + if (pColors_tmp == NULL) + return(XcmsFailure); } else { pColors_tmp = &Color1; } diff --git a/lib/libX11/src/xcms/cmsColNm.c b/lib/libX11/src/xcms/cmsColNm.c index 020aa4d11..3d838a7c2 100644 --- a/lib/libX11/src/xcms/cmsColNm.c +++ b/lib/libX11/src/xcms/cmsColNm.c @@ -210,6 +210,8 @@ _XcmsParseColorString( */ if ((len = strlen(color_string)) >= sizeof(string_buf)) { string_lowered = Xmalloc(len+1); + if (string_lowered == NULL) + return(XcmsFailure); } else { string_lowered = string_buf; } @@ -419,6 +421,8 @@ _XcmsLookupColorName( Retry: if ((len = strlen(tmpName)) > 63) { name_lowered = Xmalloc(len+1); + if (name_lowered == NULL) + return(XcmsFailure); } else { name_lowered = name_lowered_64; } @@ -762,6 +766,13 @@ LoadColornameDB(void) strings = Xmalloc(size); pairs = Xcalloc(nEntries, sizeof(XcmsPair)); + if (strings == NULL || pairs == NULL) { + free(strings); + free(pairs); + (void) fclose(stream); + XcmsColorDbState = XcmsDbInitFailure; + return(XcmsFailure); + } ReadColornameDB(stream, pairs, strings); (void) fclose(stream); diff --git a/lib/libX11/src/xcms/cmsInt.c b/lib/libX11/src/xcms/cmsInt.c index f4aef04ff..83be2627c 100644 --- a/lib/libX11/src/xcms/cmsInt.c +++ b/lib/libX11/src/xcms/cmsInt.c @@ -41,6 +41,7 @@ #include "Xlibint.h" #include "Xcmsint.h" #include "Cv.h" +#include "reallocarray.h" #ifndef XCMSCOMPPROC # define XCMSCOMPPROC XcmsTekHVCClipC @@ -82,7 +83,7 @@ _XcmsCopyPointerArray( for (tmp = pap, n = 0; *tmp != NULL; tmp++, n++); n++; /* add 1 to include the NULL pointer */ - if ((newArray = Xmalloc(n * sizeof(XPointer)))) { + if ((newArray = Xmallocarray(n, sizeof(XPointer)))) { memcpy((char *)newArray, (char *)pap, (unsigned)(n * sizeof(XPointer))); } @@ -141,7 +142,7 @@ _XcmsPushPointerArray( /* add 2: 1 for the new pointer and another for the NULL pointer */ n += 2; - if ((newArray = Xmalloc(n * sizeof(XPointer)))) { + if ((newArray = Xmallocarray(n, sizeof(XPointer)))) { memcpy((char *)(newArray+1),(char *)pap, (unsigned)((n-1) * sizeof(XPointer))); *newArray = p; diff --git a/lib/libX11/src/xkb/Makefile.am b/lib/libX11/src/xkb/Makefile.am index cde2afbf9..c13bdc459 100644 --- a/lib/libX11/src/xkb/Makefile.am +++ b/lib/libX11/src/xkb/Makefile.am @@ -6,6 +6,7 @@ AM_CPPFLAGS= \ -I$(top_srcdir)/src/xcms \ -I$(top_srcdir)/src/xkb \ -I$(top_srcdir)/src/xlibi18n \ + -I$(top_srcdir)/src \ -D_BSD_SOURCE AM_CFLAGS= \ diff --git a/lib/libX11/src/xkb/Makefile.in b/lib/libX11/src/xkb/Makefile.in index 9388e6696..7e012b0e9 100644 --- a/lib/libX11/src/xkb/Makefile.in +++ b/lib/libX11/src/xkb/Makefile.in @@ -159,6 +159,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ @@ -309,6 +310,7 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/src/xcms \ -I$(top_srcdir)/src/xkb \ -I$(top_srcdir)/src/xlibi18n \ + -I$(top_srcdir)/src \ -D_BSD_SOURCE AM_CFLAGS = \ diff --git a/lib/libX11/src/xkb/XKBAlloc.c b/lib/libX11/src/xkb/XKBAlloc.c index f824bca8c..f1d96c19a 100644 --- a/lib/libX11/src/xkb/XKBAlloc.c +++ b/lib/libX11/src/xkb/XKBAlloc.c @@ -44,7 +44,6 @@ Status XkbAllocCompatMap(XkbDescPtr xkb, unsigned which, unsigned nSI) { XkbCompatMapPtr compat; - XkbSymInterpretRec *prev_interpret; if (!xkb) return BadMatch; @@ -55,18 +54,12 @@ XkbAllocCompatMap(XkbDescPtr xkb, unsigned which, unsigned nSI) compat->size_si = nSI; if (compat->sym_interpret == NULL) compat->num_si = 0; - prev_interpret = compat->sym_interpret; - compat->sym_interpret = _XkbTypedRealloc(compat->sym_interpret, - nSI, XkbSymInterpretRec); + _XkbResizeArray(compat->sym_interpret, compat->num_si, + nSI, XkbSymInterpretRec); if (compat->sym_interpret == NULL) { - _XkbFree(prev_interpret); compat->size_si = compat->num_si = 0; return BadAlloc; } - if (compat->num_si != 0) { - _XkbClearElems(compat->sym_interpret, compat->num_si, - compat->size_si - 1, XkbSymInterpretRec); - } return Success; } compat = _XkbTypedCalloc(1, XkbCompatMapRec); @@ -150,22 +143,10 @@ XkbAllocNames(XkbDescPtr xkb, unsigned which, int nTotalRG, int nTotalAliases) return BadAlloc; } if ((which & XkbKeyAliasesMask) && (nTotalAliases > 0)) { - if (names->key_aliases == NULL) { - names->key_aliases = _XkbTypedCalloc(nTotalAliases, XkbKeyAliasRec); - } - else if (nTotalAliases > names->num_key_aliases) { - XkbKeyAliasRec *prev_aliases = names->key_aliases; - - names->key_aliases = _XkbTypedRealloc(names->key_aliases, - nTotalAliases, - XkbKeyAliasRec); - if (names->key_aliases != NULL) { - _XkbClearElems(names->key_aliases, names->num_key_aliases, - nTotalAliases - 1, XkbKeyAliasRec); - } - else { - _XkbFree(prev_aliases); - } + if ((names->key_aliases == NULL) || + (nTotalAliases > names->num_key_aliases)) { + _XkbResizeArray(names->key_aliases, names->num_key_aliases, + nTotalAliases, XkbKeyAliasRec); } if (names->key_aliases == NULL) { names->num_key_aliases = 0; @@ -174,24 +155,13 @@ XkbAllocNames(XkbDescPtr xkb, unsigned which, int nTotalRG, int nTotalAliases) names->num_key_aliases = nTotalAliases; } if ((which & XkbRGNamesMask) && (nTotalRG > 0)) { - if (names->radio_groups == NULL) { - names->radio_groups = _XkbTypedCalloc(nTotalRG, Atom); + if ((names->radio_groups == NULL) || (nTotalRG > names->num_rg)) { + _XkbResizeArray(names->radio_groups, names->num_rg, nTotalRG, Atom); } - else if (nTotalRG > names->num_rg) { - Atom *prev_radio_groups = names->radio_groups; - - names->radio_groups = - _XkbTypedRealloc(names->radio_groups, nTotalRG, Atom); - if (names->radio_groups != NULL) { - _XkbClearElems(names->radio_groups, names->num_rg, nTotalRG - 1, - Atom); - } - else { - _XkbFree(prev_radio_groups); - } - } - if (names->radio_groups == NULL) + if (names->radio_groups == NULL) { + names->num_rg = 0; return BadAlloc; + } names->num_rg = nTotalRG; } return Success; @@ -350,16 +320,13 @@ XkbAddDeviceLedInfo(XkbDeviceInfoPtr devi, unsigned ledClass, unsigned ledId) return devli; } if (devi->num_leds >= devi->sz_leds) { - XkbDeviceLedInfoRec *prev_leds = devi->leds; - if (devi->sz_leds > 0) devi->sz_leds *= 2; else devi->sz_leds = 1; - devi->leds = _XkbTypedRealloc(devi->leds, devi->sz_leds, - XkbDeviceLedInfoRec); + _XkbResizeArray(devi->leds, devi->num_leds, devi->sz_leds, + XkbDeviceLedInfoRec); if (!devi->leds) { - _XkbFree(prev_leds); devi->sz_leds = devi->num_leds = 0; return NULL; } @@ -380,8 +347,6 @@ XkbAddDeviceLedInfo(XkbDeviceInfoPtr devi, unsigned ledClass, unsigned ledId) Status XkbResizeDeviceButtonActions(XkbDeviceInfoPtr devi, unsigned newTotal) { - XkbAction *prev_btn_acts; - if ((!devi) || (newTotal > 255)) return BadValue; if ((devi->btn_acts != NULL) && (newTotal == devi->num_btns)) @@ -394,10 +359,8 @@ XkbResizeDeviceButtonActions(XkbDeviceInfoPtr devi, unsigned newTotal) devi->num_btns = 0; return Success; } - prev_btn_acts = devi->btn_acts; - devi->btn_acts = _XkbTypedRealloc(devi->btn_acts, newTotal, XkbAction); + _XkbResizeArray(devi->btn_acts, devi->num_btns, newTotal, XkbAction); if (devi->btn_acts == NULL) { - _XkbFree(prev_btn_acts); devi->num_btns = 0; return BadAlloc; } diff --git a/lib/libX11/src/xkb/XKBGetMap.c b/lib/libX11/src/xkb/XKBGetMap.c index 2278c7519..2891d21e3 100644 --- a/lib/libX11/src/xkb/XKBGetMap.c +++ b/lib/libX11/src/xkb/XKBGetMap.c @@ -63,12 +63,9 @@ _XkbReadKeyTypes(XkbReadBufferPtr buf, XkbDescPtr xkb, xkbGetMapReply *rep) if (desc->nMapEntries > 0) { if ((type->map == NULL) || (desc->nMapEntries > type->map_count)) { - XkbKTMapEntryRec *prev_map = type->map; - - type->map = _XkbTypedRealloc(type->map, desc->nMapEntries, - XkbKTMapEntryRec); + _XkbResizeArray(type->map, type->map_count, + desc->nMapEntries, XkbKTMapEntryRec); if (type->map == NULL) { - _XkbFree(prev_map); return BadAlloc; } } @@ -81,13 +78,9 @@ _XkbReadKeyTypes(XkbReadBufferPtr buf, XkbDescPtr xkb, xkbGetMapReply *rep) if (desc->preserve && (desc->nMapEntries > 0)) { if ((!type->preserve) || (desc->nMapEntries > lastMapCount)) { - XkbModsRec *prev_preserve = type->preserve; - - type->preserve = _XkbTypedRealloc(type->preserve, - desc->nMapEntries, - XkbModsRec); + _XkbResizeArray(type->preserve, lastMapCount, + desc->nMapEntries, XkbModsRec); if (type->preserve == NULL) { - _XkbFree(prev_preserve); return BadAlloc; } } @@ -188,12 +181,10 @@ _XkbReadKeySyms(XkbReadBufferPtr buf, XkbDescPtr xkb, xkbGetMapReply *rep) oldMap->offset = offset; if (offset + newMap->nSyms >= map->size_syms) { register int sz; - KeySym *prev_syms = map->syms; sz = map->size_syms + 128; - map->syms = _XkbTypedRealloc(map->syms, sz, KeySym); + _XkbResizeArray(map->syms, map->size_syms, sz, KeySym); if (map->syms == NULL) { - _XkbFree(prev_syms); map->size_syms = 0; return BadAlloc; } @@ -261,7 +252,7 @@ _XkbReadKeyActions(XkbReadBufferPtr buf, XkbDescPtr info, xkbGetMapReply *rep) if (nKeyActs < sizeof numDescBuf) numDesc = numDescBuf; else - numDesc = Xmalloc(nKeyActs * sizeof(CARD8)); + numDesc = Xmallocarray(nKeyActs, sizeof(CARD8)); if (!_XkbCopyFromReadBuffer(buf, (char *) numDesc, nKeyActs)) { ret = BadLength; diff --git a/lib/libX11/src/xkb/XKBMAlloc.c b/lib/libX11/src/xkb/XKBMAlloc.c index 2e39634a7..61a7359e8 100644 --- a/lib/libX11/src/xkb/XKBMAlloc.c +++ b/lib/libX11/src/xkb/XKBMAlloc.c @@ -69,25 +69,17 @@ XkbAllocClientMap(XkbDescPtr xkb, unsigned which, unsigned nTotalTypes) if ((which & XkbKeyTypesMask) && (nTotalTypes > 0)) { if (map->types == NULL) { - map->types = _XkbTypedCalloc(nTotalTypes, XkbKeyTypeRec); - if (map->types == NULL) - return BadAlloc; - map->num_types = 0; - map->size_types = nTotalTypes; + map->num_types = map->size_types = 0; } - else if (map->size_types < nTotalTypes) { - XkbKeyTypeRec *prev_types = map->types; + if ((map->types == NULL) || (map->size_types < nTotalTypes)) { + _XkbResizeArray(map->types, map->size_types, nTotalTypes, + XkbKeyTypeRec); - map->types = - _XkbTypedRealloc(map->types, nTotalTypes, XkbKeyTypeRec); if (map->types == NULL) { - _XkbFree(prev_types); map->num_types = map->size_types = 0; return BadAlloc; } map->size_types = nTotalTypes; - bzero(&map->types[map->num_types], - ((map->size_types - map->num_types) * sizeof(XkbKeyTypeRec))); } } if (which & XkbKeySymsMask) { @@ -164,26 +156,20 @@ XkbAllocServerMap(XkbDescPtr xkb, unsigned which, unsigned nNewActions) if (nNewActions < 1) nNewActions = 1; if (map->acts == NULL) { - map->acts = _XkbTypedCalloc((nNewActions + 1), XkbAction); - if (map->acts == NULL) - return BadAlloc; map->num_acts = 1; - map->size_acts = nNewActions + 1; + map->size_acts = 0; } - else if ((map->size_acts - map->num_acts) < nNewActions) { + if ((map->acts == NULL) || + ((map->size_acts - map->num_acts) < nNewActions)) { unsigned need; - XkbAction *prev_acts = map->acts; need = map->num_acts + nNewActions; - map->acts = _XkbTypedRealloc(map->acts, need, XkbAction); + _XkbResizeArray(map->acts, map->size_acts, need, XkbAction); if (map->acts == NULL) { - _XkbFree(prev_acts); map->num_acts = map->size_acts = 0; return BadAlloc; } map->size_acts = need; - bzero(&map->acts[map->num_acts], - ((map->size_acts - map->num_acts) * sizeof(XkbAction))); } if (map->key_acts == NULL) { i = xkb->max_key_code + 1; @@ -390,24 +376,18 @@ XkbResizeKeyType(XkbDescPtr xkb, type->map_count = 0; } else { - XkbKTMapEntryRec *prev_map = type->map; - if ((map_count > type->map_count) || (type->map == NULL)) - type->map = - _XkbTypedRealloc(type->map, map_count, XkbKTMapEntryRec); + _XkbResizeArray(type->map, type->map_count, map_count, + XkbKTMapEntryRec); if (!type->map) { - _XkbFree(prev_map); return BadAlloc; } if (want_preserve) { - XkbModsRec *prev_preserve = type->preserve; - if ((map_count > type->map_count) || (type->preserve == NULL)) { - type->preserve = _XkbTypedRealloc(type->preserve, map_count, - XkbModsRec); + _XkbResizeArray(type->preserve, type->map_count, map_count, + XkbModsRec); } if (!type->preserve) { - _XkbFree(prev_preserve); return BadAlloc; } } @@ -419,12 +399,8 @@ XkbResizeKeyType(XkbDescPtr xkb, } if ((new_num_lvls > type->num_levels) || (type->level_names == NULL)) { - Atom *prev_level_names = type->level_names; - - type->level_names = - _XkbTypedRealloc(type->level_names, new_num_lvls, Atom); + _XkbResizeArray(type->level_names, type->num_levels, new_num_lvls, Atom); if (!type->level_names) { - _XkbFree(prev_level_names); return BadAlloc; } } @@ -728,16 +704,11 @@ XkbChangeKeycodeRange(XkbDescPtr xkb, tmp = maxKC - xkb->max_key_code; if (xkb->map) { if (xkb->map->key_sym_map) { - XkbSymMapRec *prev_key_sym_map = xkb->map->key_sym_map; - - xkb->map->key_sym_map = _XkbTypedRealloc(xkb->map->key_sym_map, - (maxKC + 1), XkbSymMapRec); + _XkbResizeArray(xkb->map->key_sym_map, xkb->max_key_code + 1, + (maxKC + 1), XkbSymMapRec); if (!xkb->map->key_sym_map) { - _XkbFree(prev_key_sym_map); return BadAlloc; } - bzero((char *) &xkb->map->key_sym_map[xkb->max_key_code], - tmp * sizeof(XkbSymMapRec)); if (changes) { changes->map.changed = _ExtendRange(changes->map.changed, XkbKeySymsMask, maxKC, @@ -746,15 +717,11 @@ XkbChangeKeycodeRange(XkbDescPtr xkb, } } if (xkb->map->modmap) { - unsigned char *prev_modmap = xkb->map->modmap; - - xkb->map->modmap = _XkbTypedRealloc(xkb->map->modmap, - (maxKC + 1), unsigned char); + _XkbResizeArray(xkb->map->modmap, xkb->max_key_code + 1, + (maxKC + 1), unsigned char); if (!xkb->map->modmap) { - _XkbFree(prev_modmap); return BadAlloc; } - bzero((char *) &xkb->map->modmap[xkb->max_key_code], tmp); if (changes) { changes->map.changed = _ExtendRange(changes->map.changed, XkbModifierMapMask, maxKC, @@ -765,17 +732,11 @@ XkbChangeKeycodeRange(XkbDescPtr xkb, } if (xkb->server) { if (xkb->server->behaviors) { - XkbBehavior *prev_behaviors = xkb->server->behaviors; - - xkb->server->behaviors = - _XkbTypedRealloc(xkb->server->behaviors, (maxKC + 1), - XkbBehavior); + _XkbResizeArray(xkb->server->behaviors, xkb->max_key_code + 1, + (maxKC + 1), XkbBehavior); if (!xkb->server->behaviors) { - _XkbFree(prev_behaviors); return BadAlloc; } - bzero((char *) &xkb->server->behaviors[xkb->max_key_code], - tmp * sizeof(XkbBehavior)); if (changes) { changes->map.changed = _ExtendRange(changes->map.changed, XkbKeyBehaviorsMask, maxKC, @@ -784,16 +745,11 @@ XkbChangeKeycodeRange(XkbDescPtr xkb, } } if (xkb->server->key_acts) { - unsigned short *prev_key_acts = xkb->server->key_acts; - - xkb->server->key_acts = _XkbTypedRealloc(xkb->server->key_acts, - (maxKC + 1), unsigned short); + _XkbResizeArray(xkb->server->key_acts, xkb->max_key_code + 1, + (maxKC + 1), unsigned short); if (!xkb->server->key_acts) { - _XkbFree(prev_key_acts); return BadAlloc; } - bzero((char *) &xkb->server->key_acts[xkb->max_key_code], - tmp * sizeof(unsigned short)); if (changes) { changes->map.changed = _ExtendRange(changes->map.changed, XkbKeyActionsMask, maxKC, @@ -802,16 +758,11 @@ XkbChangeKeycodeRange(XkbDescPtr xkb, } } if (xkb->server->vmodmap) { - unsigned short *prev_vmodmap = xkb->server->vmodmap; - - xkb->server->vmodmap = _XkbTypedRealloc(xkb->server->vmodmap, - (maxKC + 1), unsigned short); + _XkbResizeArray(xkb->server->vmodmap, xkb->max_key_code + 1, + (maxKC + 1), unsigned short); if (!xkb->server->vmodmap) { - _XkbFree(prev_vmodmap); return BadAlloc; } - bzero((char *) &xkb->server->vmodmap[xkb->max_key_code], - tmp * sizeof(unsigned short)); if (changes) { changes->map.changed = _ExtendRange(changes->map.changed, XkbVirtualModMapMask, maxKC, @@ -821,16 +772,11 @@ XkbChangeKeycodeRange(XkbDescPtr xkb, } } if ((xkb->names) && (xkb->names->keys)) { - XkbKeyNameRec *prev_keys = xkb->names->keys; - - xkb->names->keys = _XkbTypedRealloc(xkb->names->keys, - (maxKC + 1), XkbKeyNameRec); + _XkbResizeArray(xkb->names->keys, xkb->max_key_code + 1, + (maxKC + 1), XkbKeyNameRec); if (!xkb->names->keys) { - _XkbFree(prev_keys); return BadAlloc; } - bzero((char *) &xkb->names->keys[xkb->max_key_code], - tmp * sizeof(XkbKeyNameRec)); if (changes) { changes->names.changed = _ExtendRange(changes->names.changed, XkbKeyNamesMask, maxKC, diff --git a/lib/libX11/src/xkb/XKBNames.c b/lib/libX11/src/xkb/XKBNames.c index d84f34b55..1f6115b5f 100644 --- a/lib/libX11/src/xkb/XKBNames.c +++ b/lib/libX11/src/xkb/XKBNames.c @@ -205,14 +205,14 @@ _XkbReadGetNamesReply(Display *dpy, if (rep->nRadioGroups > 0) { Atom *rgNames; - if (names->radio_groups == NULL) - names->radio_groups = _XkbTypedCalloc(rep->nRadioGroups, Atom); - else if (names->num_rg < rep->nRadioGroups) { - names->radio_groups = _XkbTypedRealloc(names->radio_groups, - rep->nRadioGroups, Atom); + if ((names->radio_groups == NULL) || + (names->num_rg < rep->nRadioGroups)) { + _XkbResizeArray(names->radio_groups, names->num_rg, + rep->nRadioGroups, Atom); } rgNames = names->radio_groups; if (!rgNames) { + names->num_rg = 0; goto BAILOUT; } if (!_XkbReadBufferCopy32 diff --git a/lib/libX11/src/xkb/XKBlibint.h b/lib/libX11/src/xkb/XKBlibint.h index ca7dc0b74..c2f7351c7 100644 --- a/lib/libX11/src/xkb/XKBlibint.h +++ b/lib/libX11/src/xkb/XKBlibint.h @@ -29,6 +29,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #include #include +#include "reallocarray.h" #define XkbMapPending (1<<0) #define XkbXlibNewKeyboard (1<<1) @@ -119,11 +120,26 @@ typedef struct _XkbReadBuffer { #define _XkbRealloc(o,s) Xrealloc((o),(s)) #define _XkbTypedAlloc(t) ((t *)Xmalloc(sizeof(t))) #define _XkbTypedCalloc(n,t) ((t *)Xcalloc((n),sizeof(t))) -#define _XkbTypedRealloc(o,n,t) \ - ((o) ? (t *)Xrealloc((o), (n)*sizeof(t)) : _XkbTypedCalloc(n,t)) -#define _XkbClearElems(a,f,l,t) bzero(&(a)[f], ((l)-(f)+1) * sizeof(t)) #define _XkbFree(p) Xfree(p) +/* Resizes array to hold new_num elements, zeroing newly added entries. + Destroys old array on failure. */ +#define _XkbResizeArray(array, old_num, new_num, type) \ + do { \ + if (array == NULL) { \ + array = _XkbTypedCalloc(new_num, type); \ + } else { \ + type *prev_array = array; \ + array = Xreallocarray(array, new_num, sizeof(type)); \ + if (_X_UNLIKELY((array) == NULL)) { \ + _XkbFree(prev_array); \ + } else if ((new_num) > (old_num)) { \ + bzero(&array[old_num], \ + ((new_num) - (old_num)) * sizeof(type)); \ + } \ + } \ + } while(0) + _XFUNCPROTOBEGIN extern void _XkbReloadDpy( diff --git a/lib/libX11/src/xlibi18n/ICWrap.c b/lib/libX11/src/xlibi18n/ICWrap.c index 69f080d87..bc53710da 100644 --- a/lib/libX11/src/xlibi18n/ICWrap.c +++ b/lib/libX11/src/xlibi18n/ICWrap.c @@ -66,6 +66,7 @@ from The Open Group. #endif #include "Xlibint.h" #include "Xlcint.h" +#include "reallocarray.h" static int _XIMNestedListToNestedList( @@ -128,7 +129,7 @@ _XIMVaToNestedList(va_list var, int max_count, XIMArg **args_return) return; } - args = Xmalloc(((unsigned)max_count + 1) * sizeof(XIMArg)); + args = Xmallocarray((unsigned)max_count + 1, sizeof(XIMArg)); *args_return = args; if (!args) return; diff --git a/lib/libX11/src/xlibi18n/Makefile.in b/lib/libX11/src/xlibi18n/Makefile.in index 29564f629..95f8c516d 100644 --- a/lib/libX11/src/xlibi18n/Makefile.in +++ b/lib/libX11/src/xlibi18n/Makefile.in @@ -187,6 +187,7 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ diff --git a/lib/libX11/src/xlibi18n/XDefaultIMIF.c b/lib/libX11/src/xlibi18n/XDefaultIMIF.c index 7c32ce296..557aa4948 100644 --- a/lib/libX11/src/xlibi18n/XDefaultIMIF.c +++ b/lib/libX11/src/xlibi18n/XDefaultIMIF.c @@ -67,6 +67,7 @@ Sun Microsystems, Inc. or its licensors is granted. #include "Xlibint.h" #include "Xlcint.h" #include "XlcGeneric.h" +#include "reallocarray.h" #ifndef MAXINT #define MAXINT (~((unsigned int)1 << (8 * sizeof(int)) - 1)) @@ -266,7 +267,7 @@ _GetIMValues( *(XIMStyles **)p->value = styles; styles->count_styles = 1; styles->supported_styles = - Xmalloc(styles->count_styles * sizeof(XIMStyle)); + Xmallocarray(styles->count_styles, sizeof(XIMStyle)); styles->supported_styles[0] = (XIMPreeditNone | XIMStatusNone); } else { break; diff --git a/lib/libX11/src/xlibi18n/XlcDL.c b/lib/libX11/src/xlibi18n/XlcDL.c index bc71900a0..c1abe79fb 100644 --- a/lib/libX11/src/xlibi18n/XlcDL.c +++ b/lib/libX11/src/xlibi18n/XlcDL.c @@ -85,6 +85,7 @@ Sun Microsystems, Inc. or its licensors is granted. #include "Xlibint.h" #include "XlcPublic.h" #include "XlcPubI.h" +#include "reallocarray.h" #define XI18N_DLREL 2 @@ -185,7 +186,7 @@ resolve_object(char *path, const char *lc_name) if (lc_len == 0) { /* True only for the 1st time */ lc_len = OBJECT_INIT_LEN; - xi18n_objects_list = Xmalloc(sizeof(XI18NObjectsListRec) * lc_len); + xi18n_objects_list = Xmallocarray(lc_len, sizeof(XI18NObjectsListRec)); if (!xi18n_objects_list) return; } snprintf(filename, sizeof(filename), "%s/%s", path, "XI18N_OBJS"); @@ -207,8 +208,9 @@ resolve_object(char *path, const char *lc_name) if (lc_count == lc_len) { int new_len = lc_len + OBJECT_INC_LEN; - XI18NObjectsListRec *tmp = Xrealloc(xi18n_objects_list, - sizeof(XI18NObjectsListRec) * new_len); + XI18NObjectsListRec *tmp = + Xreallocarray(xi18n_objects_list, new_len, + sizeof(XI18NObjectsListRec)); if (tmp == NULL) goto done; xi18n_objects_list = tmp; diff --git a/lib/libX11/src/xlibi18n/lcCharSet.c b/lib/libX11/src/xlibi18n/lcCharSet.c index 0adf0adfc..c0380d4a0 100644 --- a/lib/libX11/src/xlibi18n/lcCharSet.c +++ b/lib/libX11/src/xlibi18n/lcCharSet.c @@ -172,7 +172,7 @@ _XlcCreateDefaultCharSet( const char *ct_sequence) { XlcCharSet charset; - int name_len, ct_sequence_len; + size_t name_len, ct_sequence_len; const char *colon; char *tmp; @@ -195,7 +195,7 @@ _XlcCreateDefaultCharSet( /* Fill in encoding_name and xrm_encoding_name. */ if ((colon = strchr(charset->name, ':')) != NULL) { - unsigned int length = colon - charset->name; + size_t length = (size_t)(colon - charset->name); char *encoding_tmp = Xmalloc(length + 1); if (encoding_tmp == NULL) { Xfree((char *) charset->name); diff --git a/lib/libX11/src/xlibi18n/lcDB.c b/lib/libX11/src/xlibi18n/lcDB.c index 19e80aa2f..e04a5d89f 100644 --- a/lib/libX11/src/xlibi18n/lcDB.c +++ b/lib/libX11/src/xlibi18n/lcDB.c @@ -39,6 +39,7 @@ #include #include "Xlibint.h" #include "XlcPubI.h" +#include "reallocarray.h" #else /* NOT_X_ENV */ @@ -492,7 +493,7 @@ append_value_list (void) char **prev_list = value_list; value_list = (char **) - Xrealloc(value_list, sizeof(char *) * (value_num + 2)); + Xreallocarray(value_list, value_num + 2, sizeof(char *)); if (value_list == NULL) { Xfree(prev_list); } diff --git a/lib/libX11/src/xlibi18n/lcGeneric.c b/lib/libX11/src/xlibi18n/lcGeneric.c index f816fee77..fc17841a5 100644 --- a/lib/libX11/src/xlibi18n/lcGeneric.c +++ b/lib/libX11/src/xlibi18n/lcGeneric.c @@ -34,6 +34,7 @@ #include #include "Xlibint.h" #include "XlcGeneric.h" +#include "reallocarray.h" static XLCd create (const char *name, XLCdMethods methods); static Bool initialize (XLCd lcd); @@ -157,8 +158,8 @@ add_charset( int num; if ((num = codeset->num_charsets)) - new_list = Xrealloc(codeset->charset_list, - (num + 1) * sizeof(XlcCharSet)); + new_list = Xreallocarray(codeset->charset_list, + num + 1, sizeof(XlcCharSet)); else new_list = Xmalloc(sizeof(XlcCharSet)); @@ -184,8 +185,8 @@ add_codeset( return NULL; if ((num = gen->codeset_num)) - new_list = Xrealloc(gen->codeset_list, - (num + 1) * sizeof(CodeSet)); + new_list = Xreallocarray(gen->codeset_list, + num + 1, sizeof(CodeSet)); else new_list = Xmalloc(sizeof(CodeSet)); @@ -231,8 +232,8 @@ add_parse_list( } if ((num = gen->mb_parse_list_num)) - new_list = Xrealloc(gen->mb_parse_list, - (num + 2) * sizeof(ParseInfo)); + new_list = Xreallocarray(gen->mb_parse_list, + num + 2, sizeof(ParseInfo)); else { new_list = Xmalloc(2 * sizeof(ParseInfo)); } @@ -350,7 +351,7 @@ _XlcParse_scopemaps( const char *str_sc; num = count_scopemap(str); - scope = Xmalloc(num * sizeof(FontScopeRec)); + scope = Xmallocarray(num, sizeof(FontScopeRec)); if (scope == NULL) return NULL; @@ -535,8 +536,8 @@ add_conversion( int num; if ((num = gen->segment_conv_num) > 0) { - new_list = Xrealloc(gen->segment_conv, - (num + 1) * sizeof(SegConvRec)); + new_list = Xreallocarray(gen->segment_conv, + num + 1, sizeof(SegConvRec)); } else { new_list = Xmalloc(sizeof(SegConvRec)); } @@ -667,7 +668,7 @@ create_ctextseg( ret->side = XlcGLGR; strcpy(cset_name,ret->name); } - ret->area = Xmalloc((num - 1)*sizeof(FontScopeRec)); + ret->area = Xmallocarray(num - 1, sizeof(FontScopeRec)); if (ret->area == NULL) { Xfree (cset_name); Xfree (ret->name); @@ -870,8 +871,8 @@ load_generic( codeset->byteM = NULL; break ; } - codeset->byteM = Xmalloc( - (codeset->length)*sizeof(ByteInfoListRec)); + codeset->byteM = Xmallocarray(codeset->length, + sizeof(ByteInfoListRec)); if (codeset->byteM == NULL) { goto err; } @@ -882,7 +883,7 @@ load_generic( (codeset->byteM)[M-1].M = M; (codeset->byteM)[M-1].byteinfo_num = num; (codeset->byteM)[M-1].byteinfo = - Xmalloc(num * sizeof(ByteInfoRec)); + Xmallocarray(num, sizeof(ByteInfoRec)); for (ii = 0 ; ii < num ; ii++) { tmpb = (codeset->byteM)[M-1].byteinfo ; /* default 0x00 - 0xff */ diff --git a/lib/libX11/src/xlibi18n/lcPrTxt.c b/lib/libX11/src/xlibi18n/lcPrTxt.c index 77afd9372..5ab5ad4a8 100644 --- a/lib/libX11/src/xlibi18n/lcPrTxt.c +++ b/lib/libX11/src/xlibi18n/lcPrTxt.c @@ -30,6 +30,7 @@ #include "XlcPubI.h" #include #include +#include "reallocarray.h" static XPointer * alloc_list( @@ -40,11 +41,11 @@ alloc_list( if (is_wide_char) { wchar_t **wstr_list; - wstr_list = Xmalloc(count * sizeof(wchar_t *)); + wstr_list = Xmallocarray(count, sizeof(wchar_t *)); if (wstr_list == NULL) return (XPointer *) NULL; - *wstr_list = Xmalloc(nitems * sizeof(wchar_t)); + *wstr_list = Xmallocarray(nitems, sizeof(wchar_t)); if (*wstr_list == NULL) { Xfree(wstr_list); return (XPointer *) NULL; @@ -54,7 +55,7 @@ alloc_list( } else { char **str_list; - str_list = Xmalloc(count * sizeof(char *)); + str_list = Xmallocarray(count, sizeof(char *)); if (str_list == NULL) return (XPointer *) NULL; diff --git a/lib/libX11/src/xlibi18n/lcWrap.c b/lib/libX11/src/xlibi18n/lcWrap.c index 382426082..d1fa25901 100644 --- a/lib/libX11/src/xlibi18n/lcWrap.c +++ b/lib/libX11/src/xlibi18n/lcWrap.c @@ -66,6 +66,7 @@ from The Open Group. #endif #include #include "XlcPubI.h" +#include "reallocarray.h" #ifdef XTHREADS LockInfoPtr _Xi18n_lock; @@ -327,7 +328,7 @@ _XCloseLC( for (prev = &lcd_list; (cur = *prev); prev = &cur->next) { if (cur->lcd == lcd) { if (--cur->ref_count < 1) { - (*lcd->methods->close)(lcd); + _XlcDestroyLC(lcd); *prev = cur->next; Xfree(cur); } @@ -564,7 +565,7 @@ _XlcVaToArgList( { XlcArgList args; - *args_ret = args = Xmalloc(sizeof(XlcArg) * count); + *args_ret = args = Xmallocarray(count, sizeof(XlcArg)); if (args == (XlcArgList) NULL) return; -- cgit v1.2.3