xserver/os
Enrico Weigelt, metux IT consult 628e94b164 os: let vpnprintf() accept %X
Several pieces of the code, as well as drivers are using %X, which
we don't support, so leading to error messages like this:

[2025-02-27 14:28:44] BUG: 'if (f[f_idx])'
[2025-02-27 14:28:44] BUG: ../xserver/os/log.c:538 in vpnprintf()
[2025-02-27 14:28:44] Unsupported printf directive 'X'
[2025-02-27 14:28:44]
[2025-02-27 14:28:44] Backtrace:
[2025-02-27 14:28:44] unw_get_proc_name failed: no unwind info found [-10]
[2025-02-27 14:28:44] 0: /usr/lib/Xorg (?+0x0) [0x5f4d1261bc47]
[2025-02-27 14:28:44] 1: /usr/lib/Xorg (LogVHdrMessageVerb+0x10f) [0x5f4d1261ca3f]
[2025-02-27 14:28:44] 2: /usr/lib/Xorg (LogHdrMessageVerb+0x85) [0x5f4d1261cae5]
[2025-02-27 14:28:44] 3: /usr/lib/Xorg (xf86VDrvMsgVerb+0x54) [0x5f4d12636604]
[2025-02-27 14:28:44] 4: /usr/lib/Xorg (xf86DrvMsg+0x97) [0x5f4d126367d7]
[2025-02-27 14:28:44] 5: /usr/lib/Xorg (xf86PrintEDID+0x545) [0x5f4d12654315]
[2025-02-27 14:28:44] 6: /usr/lib/Xorg (xf86OutputSetEDID+0x1bd) [0x5f4d12657e0d]

In the longer run, we'll have to decide whether we actually want to
implement the upper-case directive or change all callers to lower-case.

But for now it's better to just accept %X and interpret it as lower-case,
in order to fix those error messages. Whether it's printed as upper or
lower case is more or less an aesthetic matter.

Reported-By: guido iodice <guido.iodice@gmail.com>
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1846>
2025-02-28 12:51:44 +01:00
..
.gitignore dix and os: gitignore dix.O and os.O 2011-09-23 17:14:47 -07:00
WaitFor.c os: drop unused TimerCheck() 2025-02-23 17:46:13 +00:00
access.c os: unexport ClientIsLocal() 2025-02-18 10:53:44 +00:00
alloc.c os: move alloc functions to separate source file 2024-02-29 10:09:37 +00:00
audit.h os: unexport audit functions 2024-04-15 19:54:34 +00:00
auth.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
auth.h os: unexport fields from opaque.h not used by modules / drivers 2024-06-23 21:19:27 +00:00
backtrace.c os: backtrace: Fix -Wincompatible-pointer-types compiler error on 32-bit targets 2025-02-07 16:58:02 +02:00
bug_priv.h os: move BUG_*() macros to own private header 2025-02-17 19:32:48 +00:00
busfault.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
busfault.h os: fix missing include of misc.h in busfault.h 2024-04-16 14:19:59 +02:00
client.c os: split off internal definitions from client.h 2024-10-10 13:45:29 +00:00
client_priv.h os: unexport SetCriticalOutputPending() 2025-02-23 17:39:18 +00:00
cmdline.h os: unexport command line args handling functions 2024-04-15 21:21:40 +00:00
connection.c os: unexport AuthorizationIDOfClient() 2025-02-18 10:53:44 +00:00
ddx_priv.h os: unexport ddx callbacks 2024-05-08 09:37:35 +02:00
fmt.c os: move out Format*() functions 2024-03-09 17:34:51 +00:00
fmt.h misc.h: unexport compare_version() 2025-02-18 11:17:40 +00:00
inputthread.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
io.c os: unexport ReadRequestFromClient() 2025-02-18 10:53:44 +00:00
log.c os: let vpnprintf() accept %X 2025-02-28 12:51:44 +01:00
meson.build os: move out LockServer logic from util.c to serverlock.c 2024-07-26 22:26:07 +00:00
mitauth.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
mitauth.h os: move Auth* function types to separate header 2024-02-22 23:42:53 +00:00
osdep.h os: drop `upstart` specific SIGSTOP signaling logic 2025-02-14 14:25:28 +01:00
osinit.c os/osinit: fix build when execinfo.h is missing 2025-02-08 15:22:29 +00:00
ospoll.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
ospoll.h os: Add ospoll interface [v2] 2016-07-21 15:04:47 -04:00
reallocarray.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
screensaver.h os: unexport screen saver timer functions 2024-09-01 20:23:10 +00:00
serverlock.c os: move -nolock help message printing to serverlock.h 2024-07-26 22:26:07 +00:00
serverlock.h os: move -nolock help message printing to serverlock.h 2024-07-26 22:26:07 +00:00
strcasecmp.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
strcasestr.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
string.c os: move string functions to separate source file 2024-02-29 10:09:37 +00:00
strlcat.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
strlcpy.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
strndup.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
timingsafe_memcmp.c timingsafe_memcmp: Fix meson build 2017-05-10 10:56:16 -04:00
utils.c os: unexport CloseWellKnownConnections() 2025-02-18 10:53:45 +00:00
xdmauth.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
xdmauth.h os: move Auth* function types to separate header 2024-02-22 23:42:53 +00:00
xdmcp.c os: if getaddrinfo() is available, use it, even if IPv6 support is disabled 2025-01-27 22:34:51 +00:00
xdmcp.h Fix build with -Dxdmcp=false 2024-02-25 11:55:56 +01:00
xprintf.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
xserver_poll.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
xserver_poll.h os: move xserver_poll.h into os/ directory 2024-06-21 00:53:39 +00:00
xsha1.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
xsha1.h include: move xsha1.h to os/ 2024-03-03 23:11:05 +00:00
xstrans.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00