summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-06-27Use XtUIntPtr for integer types that can hold pointersAlex Richardson
Various Xt*Id types are integer types that are used to hold pointers. Use uintptr_t for standards-compliant conversion and to support architectures where long cannot hold pointers (e.g. CHERI). I found these by compiling libXt with the CHERI Clang compiler, as it warns about conversions from integer to pointer that do not use intptr_t. Signed-off-by: Alex Richardson <Alexander.Richardson@cl.cam.ac.uk>
2021-06-27XtArgVal: Support architectures where pointers are bigger than longAlex Richardson
On CHERI-enabled architectures (e.g. Arm's Morello), pointers are twice the size of addresses (i.e. 128 bits for Morello, 64 bits for 32-bit RISC-V). However, XtArgVal is currently defined as long, so it cannot be used to store pointers on these architectures. This commit changes XtArgVal to use intptr_t instead, which should be long on most architectures but is larger for CHERI. It also introduces XtIntPtr/XtUIntPtr which will be used in follow-up changes. This commit should also help on LLP64 ABIs where long is 32 bits but pointers are 64 bits. I am not sure what the compiler and C standard requirements are, so I've guarded the use of stdint.h with `#if __STDC_VERSION__ >= 199901L`. I've also added a _Static_assert() when compiling in C11 mode to statically verify that the XtArgVal type requirements are met. Signed-off-by: Alex Richardson <Alexander.Richardson@cl.cam.ac.uk>
2021-06-16Define LONG64 if __SIZEOF_LONG__ indicates 64-bit longAlex Richardson
All modern compilers (GCC>=4.6, Clang>=3.0) define this macro, so we can use it to detect 64-bit longs without adding to the architecture list. This change is needed to successfully run xeyes on a FreeBSD CHERI-RISC-V QEMU VM via SSH forwarding. See also https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/merge_requests/41 Signed-off-by: Alex Richardson <Alexander.Richardson@cl.cam.ac.uk>
2021-01-24libXt 1.2.1libXt-1.2.1Matt Turner
Signed-off-by: Matt Turner <mattst88@gmail.com>
2020-02-05_XtCalloc actually uses a Cardinal, not size_tThomas E. Dickey
2019-12-22add errorhandling to _XtVaToTypedArgList()Walter Harms
to make it behave like _XtVaToTypedArgList() add some checks and make sure that all args are propper initialized. also replace Malloc with Calloc and get arg check for free Signed-off-by: Walter Harms <wharms@bfs.de>
2019-12-22Merge branch 'master' of ssh://gitlab.freedesktop.org/xorg/lib/libxtWalter Harms
2019-12-22refactoring, reduce indent levelWalter Harms
Signed-off-by: Walter Harms <wharms@bfs.de>
2019-11-15add a null-pointer check, overlooked in fix for issue #12.Thomas E. Dickey
Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-11-09issue #12: work within existing interface which attempts to obtain theThomas E. Dickey
display-pointer from the screen-pointer but fails when the screen-pointer itself is invalid. Ensure that the screen-pointer is valid by checking the default_screen value against the valid range, and forcing it to zero if it is out of bounds. Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-11-09no need to check arguments for XtFree()Walter Harms
Signed-off-by: Walter Harms <wharms@bfs.de>
2019-11-09new buildThomas E. Dickey
Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-11-09issue 12 - DISPLAY=:0.-1 XtScreenDatabase segfaultThomas E. Dickey
Add a null-pointer check XtScreenDatabase(), exit if no display was opened. Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-08-01improved the script used for typedef-options with indent, updated indentationThomas E. Dickey
Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14bump minor version to reflect code-cleanupThomas E. Dickey
Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14remove the ARGUSED lines, which confuse GNU indent, ditto for LINTLIBRARYThomas E. Dickey
Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14turn off indent in generated filesThomas E. Dickey
Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-14indent'd like "x-indent.sh", but with a more complete set of typedefs - seeThomas E. Dickey
https://github.com/ThomasDickey/cindent-snapshots/blob/master/scripts/xxx-profile Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>