Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package xrdb for openSUSE:Factory checked in 
at 2026-07-12 16:21:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xrdb (Old)
 and      /work/SRC/openSUSE:Factory/.xrdb.new.1991 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xrdb"

Sun Jul 12 16:21:01 2026 rev:14 rq:1364888 version:1.2.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/xrdb/xrdb.changes        2023-06-12 
15:25:39.966773236 +0200
+++ /work/SRC/openSUSE:Factory/.xrdb.new.1991/xrdb.changes      2026-07-12 
16:21:38.460987740 +0200
@@ -1,0 +2,6 @@
+Fri Jul 10 08:58:21 UTC 2026 - Stefan Dirsch <[email protected]>
+
+- Update to bugfix release 1.2.3
+- switch to Meson build system
+
+-------------------------------------------------------------------

Old:
----
  xrdb-1.2.2.tar.xz

New:
----
  xrdb-1.2.3.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xrdb.spec ++++++
--- /var/tmp/diff_new_pack.8j2Hae/_old  2026-07-12 16:21:39.057007829 +0200
+++ /var/tmp/diff_new_pack.8j2Hae/_new  2026-07-12 16:21:39.057007829 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package xrdb
 #
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,18 +17,18 @@
 
 
 Name:           xrdb
-Version:        1.2.2
+Version:        1.2.3
 Release:        0
 Summary:        X server resource database utility
 License:        MIT
 Group:          System/X11/Utilities
 URL:            https://xorg.freedesktop.org/
 Source0:        
https://xorg.freedesktop.org/releases/individual/app/%{name}-%{version}.tar.xz
+BuildRequires:  meson >= 1.1.0
 BuildRequires:  pkgconfig
 BuildRequires:  pkgconfig(x11)
 BuildRequires:  pkgconfig(xmuu)
-BuildRequires:  pkgconfig(xorg-macros) >= 1.8
-BuildRequires:  pkgconfig(xproto) >= 7.0.17
+BuildRequires:  pkgconfig(xproto) >= 7.0.25
 Recommends:     cpp
 # This was part of the xorg-x11 package up to version 7.6
 Conflicts:      xorg-x11 <= 7.6
@@ -44,11 +44,11 @@
 %build
 # Run cpp with "-x assembler-with-cpp" in order to get rid of
 # warnings when parsing valid comments (bsc#1120004)
-%configure --with-cpp="%{_bindir}/cpp -x assembler-with-cpp"
-%make_build
+%meson -Dcpp="%{_bindir}/cpp -x assembler-with-cpp"
+%meson_build
 
 %install
-%make_install
+%meson_install
 
 %files
 %license COPYING

++++++ xrdb-1.2.2.tar.xz -> xrdb-1.2.3.tar.xz ++++++
++++ 15024 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xrdb-1.2.2/ChangeLog new/xrdb-1.2.3/ChangeLog
--- old/xrdb-1.2.2/ChangeLog    2023-06-03 19:44:14.000000000 +0200
+++ new/xrdb-1.2.3/ChangeLog    2026-07-10 01:13:26.000000000 +0200
@@ -1,3 +1,96 @@
+commit aaf6f3df9377a44081af49a7fb2ae14aa3a18e60
+Author: Alan Coopersmith <[email protected]>
+Date:   Thu Jul 9 14:32:47 2026 -0700
+
+    xrdb 1.2.3
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+
+commit aae4365610d2f3bdd04d30fe303bb936b015ddc4
+Author: Alan Coopersmith <[email protected]>
+Date:   Tue May 12 18:02:14 2026 -0700
+
+    Git rid of -Wstringop-truncation warnings
+    
+    Use memcmp() instead of strncmp() so gcc doesn't think we're treating
+    our length-tracked buffer as a zero-terminated string and complain we're
+    failing to copy the terminating zero all the time.
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+    Part-of: <https://gitlab.freedesktop.org/xorg/app/xrdb/-/merge_requests/10>
+
+commit b252f0fb867c3223b807c95e6637b0fe8dfa29d5
+Author: Alan Coopersmith <[email protected]>
+Date:   Mon May 11 20:04:17 2026 -0700
+
+    meson: Add option to build with meson
+    
+    Also updates the gitlab CI config to test both build types
+    and compare the generated output/installed files.
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+    Part-of: <https://gitlab.freedesktop.org/xorg/app/xrdb/-/merge_requests/9>
+
+commit 2f4ec193d907d6054c9d538f8f85d5b9775e9478
+Author: Alan Coopersmith <[email protected]>
+Date:   Sun Jan 11 11:20:41 2026 -0800
+
+    gitlab CI: drop the ci-fairy check-mr job
+    
+    The only thing this checked was the checkbox for allowing maintainers to
+    edit the MR. Changed permissions checks now fail this job but luckily
+    the setting it checked has been the default for years anyway so we can
+    drop it.
+    
+    https://gitlab.freedesktop.org/freedesktop/ci-templates/-/issues/81
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+    Part-of: <https://gitlab.freedesktop.org/xorg/app/xrdb/-/merge_requests/9>
+
+commit 20fc79a257ecaba0df3af8485dbf64fd73003a73
+Author: Alan Coopersmith <[email protected]>
+Date:   Sat May 31 11:25:39 2025 -0700
+
+    man page: fix warnings from `mandoc -T lint`
+    
+    mandoc: xrdb.1:197:81: STYLE: input text line longer than 80 bytes: The 
resources which ...
+    mandoc: xrdb.1:26:12: WARNING: cannot parse date, using it verbatim: TH 
xrdb 1.2.2
+    mandoc: xrdb.1:169:2: WARNING: skipping paragraph macro: PP after SH
+    mandoc: xrdb.1:344:2: WARNING: skipping paragraph macro: PP after SH
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+    Part-of: <https://gitlab.freedesktop.org/xorg/app/xrdb/-/merge_requests/8>
+
+commit 80fb1a3dfdd1ddb9574882111ba029055b76a1af
+Author: Alan Coopersmith <[email protected]>
+Date:   Sun Apr 6 17:41:40 2025 -0700
+
+    Improve man page formatting
+    
+    More closely follow common style as described on
+    https://man7.org/linux/man-pages/man7/man-pages.7.html
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+    Part-of: <https://gitlab.freedesktop.org/xorg/app/xrdb/-/merge_requests/7>
+
+commit 51cfbcc53d97c00bb825825ca6245a8f74a8cdc0
+Author: Alan Coopersmith <[email protected]>
+Date:   Sun Apr 6 17:09:06 2025 -0700
+
+    Make -help exit with 0 instead of 1
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+    Part-of: <https://gitlab.freedesktop.org/xorg/app/xrdb/-/merge_requests/7>
+
+commit 33f9c04a1f538c9a4f8e4dccf6076f1fed37c396
+Author: Alan Coopersmith <[email protected]>
+Date:   Sun Apr 6 17:05:10 2025 -0700
+
+    Accept --help & --version as aliases to -help & -version
+    
+    Signed-off-by: Alan Coopersmith <[email protected]>
+    Part-of: <https://gitlab.freedesktop.org/xorg/app/xrdb/-/merge_requests/7>
+
 commit ff688ceacaddb8e2f345caadfe33e408d97782a0
 Author: Alan Coopersmith <[email protected]>
 Date:   Sat Jun 3 10:40:03 2023 -0700
@@ -1052,7 +1145,7 @@
         (replaces per-OS hardcoding of CppCmd in Imake config files)
 
 commit 14ca3186594492b2733b9cc7e071ecfc039fb428
-Author: Søren Sandmann Pedersen  <[email protected]>
+Author: Søren Sandmann Pedersen <[email protected]>
 Date:   Fri Jul 1 20:27:45 2005 +0000
 
     Build systems for xrdb, xrandr, xrefresh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xrdb-1.2.2/Makefile.am new/xrdb-1.2.3/Makefile.am
--- old/xrdb-1.2.2/Makefile.am  2023-06-03 19:44:04.000000000 +0200
+++ new/xrdb-1.2.3/Makefile.am  2026-07-10 01:13:15.000000000 +0200
@@ -40,4 +40,4 @@
 
 dist-hook: ChangeLog INSTALL
 
-EXTRA_DIST = README.md
+EXTRA_DIST = README.md meson.build meson.options
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xrdb-1.2.2/compile new/xrdb-1.2.3/compile
--- old/xrdb-1.2.2/compile      2023-06-03 19:44:08.000000000 +0200
+++ new/xrdb-1.2.3/compile      2026-07-10 01:13:19.000000000 +0200
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Wrapper for compilers which do not understand '-c -o'.
 
-scriptversion=2018-03-07.03; # UTC
+scriptversion=2025-06-18.21; # UTC
 
-# Copyright (C) 1999-2021 Free Software Foundation, Inc.
+# Copyright (C) 1999-2025 Free Software Foundation, Inc.
 # Written by Tom Tromey <[email protected]>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -37,11 +37,11 @@
 
 file_conv=
 
-# func_file_conv build_file lazy
+# func_file_conv build_file unneeded_conversions
 # Convert a $build file to $host form and store it in $file
 # Currently only supports Windows hosts. If the determined conversion
-# type is listed in (the comma separated) LAZY, no conversion will
-# take place.
+# type is listed in (the comma separated) UNNEEDED_CONVERSIONS, no
+# conversion will take place.
 func_file_conv ()
 {
   file=$1
@@ -51,9 +51,20 @@
        # lazily determine how to convert abs files
        case `uname -s` in
          MINGW*)
-           file_conv=mingw
+           if test -n "$MSYSTEM" && (cygpath --version) >/dev/null 2>&1; then
+             # MSYS2 environment.
+             file_conv=cygwin
+           else
+             # Original MinGW environment.
+             file_conv=mingw
+           fi
            ;;
-         CYGWIN* | MSYS*)
+         MSYS*)
+           # Old MSYS environment, or MSYS2 with 32-bit MSYS2 shell.
+           file_conv=cygwin
+           ;;
+         CYGWIN*)
+           # Cygwin environment.
            file_conv=cygwin
            ;;
          *)
@@ -63,12 +74,14 @@
       fi
       case $file_conv/,$2, in
        *,$file_conv,*)
+         # This is the optimization mentioned above:
+         # If UNNEEDED_CONVERSIONS contains $file_conv, don't convert.
          ;;
        mingw/*)
          file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
          ;;
-       cygwin/* | msys/*)
-         file=`cygpath -m "$file" || echo "$file"`
+       cygwin/*)
+         file=`cygpath -w "$file" || echo "$file"`
          ;;
        wine/*)
          file=`winepath -w "$file" || echo "$file"`
@@ -143,7 +156,7 @@
          # configure might choose to run compile as 'compile cc -o foo foo.c'.
          eat=1
          case $2 in
-           *.o | *.[oO][bB][jJ])
+           *.o | *.lo | *.[oO][bB][jJ])
              func_file_conv "$2"
              set x "$@" -Fo"$file"
              shift
@@ -248,14 +261,17 @@
 right script to run: please start by reading the file 'INSTALL'.
 
 Report bugs to <[email protected]>.
+GNU Automake home page: <https://www.gnu.org/software/automake/>.
+General help using GNU software: <https://www.gnu.org/gethelp/>.
 EOF
     exit $?
     ;;
   -v | --v*)
-    echo "compile $scriptversion"
+    echo "compile (GNU Automake) $scriptversion"
     exit $?
     ;;
   cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+  clang-cl | *[/\\]clang-cl | clang-cl.exe | *[/\\]clang-cl.exe | \
   icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
     func_cl_wrapper "$@"      # Doesn't return...
     ;;
@@ -340,9 +356,9 @@
 # Local Variables:
 # mode: shell-script
 # sh-indentation: 2
-# eval: (add-hook 'before-save-hook 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp nil t)
 # time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-format: "%Y-%02m-%02d.%02H"
 # time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xrdb-1.2.2/config.h.in new/xrdb-1.2.3/config.h.in
--- old/xrdb-1.2.2/config.h.in  2023-06-03 19:44:07.000000000 +0200
+++ new/xrdb-1.2.3/config.h.in  2026-07-10 01:13:18.000000000 +0200
@@ -3,7 +3,7 @@
 /* Path to CPP program */
 #undef CPP
 
-/* Define to 1 if you have the `asprintf' function. */
+/* Define to 1 if you have the 'asprintf' function. */
 #undef HAVE_ASPRINTF
 
 /* Define to 1 if you have the <inttypes.h> header file. */
@@ -12,10 +12,10 @@
 /* Define to 1 if you have the <minix/config.h> header file. */
 #undef HAVE_MINIX_CONFIG_H
 
-/* Define to 1 if you have the `mkstemp' function. */
+/* Define to 1 if you have the 'mkstemp' function. */
 #undef HAVE_MKSTEMP
 
-/* Define to 1 if you have the `reallocarray' function. */
+/* Define to 1 if you have the 'reallocarray' function. */
 #undef HAVE_REALLOCARRAY
 
 /* Define to 1 if you have the <stdint.h> header file. */
@@ -81,15 +81,19 @@
 /* Patch version of this package */
 #undef PACKAGE_VERSION_PATCHLEVEL
 
-/* Define to 1 if all of the C90 standard headers exist (not just the ones
+/* Define to 1 if all of the C89 standard headers exist (not just the ones
    required in a freestanding environment). This macro is provided for
    backward compatibility; new code need not use it. */
 #undef STDC_HEADERS
 
-/* Enable extensions on AIX 3, Interix.  */
+/* Enable extensions on AIX, Interix, z/OS.  */
 #ifndef _ALL_SOURCE
 # undef _ALL_SOURCE
 #endif
+/* Enable extensions on Cosmopolitan Libc. */
+#ifndef _COSMO_SOURCE
+# undef _COSMO_SOURCE
+#endif
 /* Enable general extensions on macOS.  */
 #ifndef _DARWIN_C_SOURCE
 # undef _DARWIN_C_SOURCE
@@ -147,11 +151,15 @@
 #ifndef __STDC_WANT_IEC_60559_DFP_EXT__
 # undef __STDC_WANT_IEC_60559_DFP_EXT__
 #endif
+/* Enable extensions specified by C23 Annex F.  */
+#ifndef __STDC_WANT_IEC_60559_EXT__
+# undef __STDC_WANT_IEC_60559_EXT__
+#endif
 /* Enable extensions specified by ISO/IEC TS 18661-4:2015.  */
 #ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
 # undef __STDC_WANT_IEC_60559_FUNCS_EXT__
 #endif
-/* Enable extensions specified by ISO/IEC TS 18661-3:2015.  */
+/* Enable extensions specified by C23 Annex H and ISO/IEC TS 18661-3:2015.  */
 #ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
 # undef __STDC_WANT_IEC_60559_TYPES_EXT__
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xrdb-1.2.2/configure.ac new/xrdb-1.2.3/configure.ac
--- old/xrdb-1.2.2/configure.ac 2023-06-03 19:44:04.000000000 +0200
+++ new/xrdb-1.2.3/configure.ac 2026-07-10 01:13:15.000000000 +0200
@@ -22,8 +22,8 @@
 
 # Initialize Autoconf
 AC_PREREQ([2.70])
-AC_INIT([xrdb], [1.2.2],
-        [https://gitlab.freedesktop.org/xorg/app/xrdb/issues], [xrdb])
+AC_INIT([xrdb], [1.2.3],
+        [https://gitlab.freedesktop.org/xorg/app/xrdb/-/issues], [xrdb])
 AC_CONFIG_SRCDIR([Makefile.am])
 AC_CONFIG_HEADERS([config.h])
 AC_USE_SYSTEM_EXTENSIONS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xrdb-1.2.2/man/xrdb.man new/xrdb-1.2.3/man/xrdb.man
--- old/xrdb-1.2.2/man/xrdb.man 2023-06-03 19:44:04.000000000 +0200
+++ new/xrdb-1.2.3/man/xrdb.man 2026-07-10 01:13:15.000000000 +0200
@@ -23,46 +23,48 @@
 .\" other dealings in this Software without prior written authorization
 .\" from The Open Group.
 .\"
-.TH XRDB 1 __xorgversion__
+.TH XRDB 1 2025-04-06 __xorgversion__
 .SH NAME
 xrdb - X server resource database utility
 .SH SYNOPSIS
 .B xrdb
-[-option ...] [\fIfilename\fP]
+[\fI\-option\fP ...] [\fIfilename\fP]
 .SH DESCRIPTION
-.I Xrdb
-is used to get or set the contents of the RESOURCE_MANAGER property
-on the root window of screen 0, or the SCREEN_RESOURCES property on
+.B Xrdb
+is used to get or set the contents of the \fBRESOURCE_MANAGER\fP property
+on the root window of screen 0, or the \fBSCREEN_RESOURCES\fP property on
 the root window of any or all screens, or everything combined.
 You would normally run this program from your X startup file.
 .LP
-Most X clients use the RESOURCE_MANAGER and SCREEN_RESOURCES properties to
-get user preferences about
-color, fonts, and so on for applications.  Having this information in
-the server (where it is available to all clients) instead of on disk,
+Many X clients use the \fBRESOURCE_MANAGER\fP and \fBSCREEN_RESOURCES\fP
+properties to get user preferences about color, fonts, and so on
+for applications.
+Having this information in the server (where it is available to all clients)
+instead of on disk,
 solves the problem in previous versions of X that required you to
 maintain \fIdefaults\fP files on every machine that you might use.
 It also allows for dynamic changing of defaults without editing files.
 .LP
-The RESOURCE_MANAGER property is used for resources that apply to all
-screens of the display.  The SCREEN_RESOURCES property on each screen
+The \fBRESOURCE_MANAGER\fP property is used for resources that apply to all
+screens of the display.
+The \fBSCREEN_RESOURCES\fP property on each screen
 specifies additional (or overriding) resources to be used for that screen.
-(When there is only one screen, SCREEN_RESOURCES is normally not used,
-all resources are just placed in the RESOURCE_MANAGER property.)
+(When there is only one screen, \fBSCREEN_RESOURCES\fP is normally not used,
+all resources are just placed in the \fBRESOURCE_MANAGER\fP property.)
 .LP
 The file specified by
 .I filename
-(or the contents from standard input if - or no filename is given)
+(or the contents from standard input if \fB\-\fP or no filename is given)
 is optionally passed through the C preprocessor with the
-following symbols defined, based on the capabilities of the server
-being used:
+following symbols defined,
+based on the capabilities of the server being used:
 .TP 8
 .B SERVERHOST=\fIhostname\fP
 the hostname portion of the display to which you are connected.
 .TP 8
 .B SRVR_\fIname\fB
 the SERVERHOST hostname string turned into a legal identifier.
-For example, "my-dpy.lcs.mit.edu" becomes SRVR_my_dpy_lcs_mit_edu.
+For example, "my\-dpy.lcs.mit.edu" becomes \fBSRVR_my_dpy_lcs_mit_edu\fP.
 .TP 8
 .B HOST=\fIhostname\fP
 the same as
@@ -73,16 +75,16 @@
 .TP 8
 .B CLIENTHOST=\fIhostname\fP
 the name of the host on which
-.I xrdb
+.B xrdb
 is running.
 .TP 8
 .B CLNT_\fIname\fB
 the CLIENTHOST hostname string turned into a legal identifier.
-For example, "expo.lcs.mit.edu" becomes CLNT_expo_lcs_mit_edu.
+For example, "expo.lcs.mit.edu" becomes \fBCLNT_expo_lcs_mit_edu\fP.
 .TP 8
 .B RELEASE=\fInum\fP
-the vendor release number for the server.  The interpretation of this
-number will vary depending on VENDOR.
+the vendor release number for the server.
+The interpretation of this number will vary depending on \fBVENDOR\fP.
 .TP 8
 .B REVISION=\fInum\fP
 the X protocol minor version supported by this server (currently 0).
@@ -94,13 +96,13 @@
 a string literal specifying the vendor of the server.
 .TP 8
 .B VNDR_\fIname\fP
-the VENDOR name string turned into a legal identifier.
-For example, "MIT X Consortium" becomes VNDR_MIT_X_Consortium.
+the \fBVENDOR\fP name string turned into a legal identifier.
+For example, "The X.Org Foundation" becomes \fBVNDR_The_X_Org_Foundation\fP.
 .TP 8
 .B EXT_\fIname\fP
 A symbol is defined for each protocol extension supported by the server.
 Each extension string name is turned into a legal identifier.
-For example, "X3D-PEX" becomes EXT_X3D_PEX.
+For example, "XC\-MISC" becomes \fBEXT_XC_MISC\fP.
 .TP 8
 .B NUM_SCREENS=\fInum\fP
 the total number of screens.
@@ -109,21 +111,24 @@
 the number of the current screen (from zero).
 .TP 8
 .B BITS_PER_RGB=\fInum\fP
-the number of significant bits in an RGB color specification.  This is the
-log base 2 of the number of distinct shades of each primary that the hardware
-can generate.  Note that it usually is not related to PLANES.
+the number of significant bits in an RGB color specification.
+This is the log base 2 of the number of distinct shades of each primary
+that the hardware can generate.
+Note that it usually is not related to \fBPLANES\fP.
 .TP 8
 .B CLASS=\fIvisualclass\fP
-one of StaticGray, GrayScale, StaticColor, PseudoColor, TrueColor,
-DirectColor.  This is the visual class of the root window.
+one of
+.BR StaticGray ", " GrayScale ", " StaticColor ,
+.BR PseudoColor ", " TrueColor ", " DirectColor .
+This is the visual class of the root window.
 .TP 8
 .B CLASS_\fIvisualclass\fP=\fIvisualid\fP
-the visual class of the root window in a form you can \fI#ifdef\fP on.
+the visual class of the root window in a form you can \fB#ifdef\fP on.
 The value is the numeric id of the visual.
 .TP 8
 .B COLOR
-defined only if CLASS is one of StaticColor, PseudoColor, TrueColor, or
-DirectColor.
+defined if, and only if, \fBCLASS\fP is one of
+.BR StaticColor ", " PseudoColor ", " TrueColor ", or " DirectColor .
 .TP 8
 .B CLASS_\fIvisualclass\fP_\fIdepth\fP=\fInum\fP
 A symbol is defined for each visual supported for the screen.
@@ -147,7 +152,8 @@
 .B Y_RESOLUTION=\fInum\fP
 the y resolution of the screen in pixels per meter.
 .LP
-SRVR_\fIname\fP, CLNT_\fIname\fP, VNDR_\fIname\fP, and EXT_\fIname\fP
+.BR SRVR_\fIname\fP ", " CLNT_\fIname\fP ,
+.BR VNDR_\fIname\fP ", and " EXT_\fIname\fP
 identifiers are formed by changing all characters other than letters
 and digits into underscores (_).
 .LP
@@ -155,13 +161,12 @@
 be used as comments.
 .LP
 Note that since
-.I xrdb
+.B xrdb
 can read from standard input, it can be used to
 the change the contents of properties directly from
 a terminal or from a shell script.
 .SH "OPTIONS"
-.PP
-.I xrdb
+.B xrdb
 program accepts the following options:
 .TP 8
 .B \-help
@@ -173,68 +178,75 @@
 without performing any other operations.
 .TP 8
 .B \-display \fIdisplay\fP
-This option specifies the X server to be used; see \fIX(__miscmansuffix__)\fP.
-It also specifies the screen to use for the \fI-screen\fP option,
+This option specifies the X server to be used; see
+.BR X (__miscmansuffix__).
+It also specifies the screen to use for the \fB\-screen\fP option,
 and it specifies the screen from which preprocessor symbols are
-derived for the \fI-global\fP option.
+derived for the \fB\-global\fP option.
 .TP 8
 .B \-all
 This option indicates that operation should be performed on the
-screen-independent resource property (RESOURCE_MANAGER), as well as
-the screen-specific property (SCREEN_RESOURCES) on every screen of the
-display.  For example, when used in conjunction with \fI-query\fP,
-the contents of all properties are output.  For \fI-load\fP, \fI-override\fP
-and \fI-merge\fP,
-the input file is processed once for each screen.  The resources which occur
-in common in the output for every screen are collected, and these are applied
-as the screen-independent resources.  The remaining resources are applied
-for each individual per-screen property.  This the default mode of operation.
+screen-independent resource property (\fBRESOURCE_MANAGER\fP),
+as well as the screen-specific property (\fBSCREEN_RESOURCES\fP)
+on every screen of the display.
+For example, when used in conjunction with \fB\-query\fP,
+the contents of all properties are output.
+For \fB\-load\fP, \fB\-override\fP, and \fB\-merge\fP,
+the input file is processed once for each screen.
+The resources which occur in common in the output for every screen are
+collected, and these are applied as the screen-independent resources.
+The remaining resources are applied for each individual per-screen property.
+This the default mode of operation.
 .TP 8
 .B \-global
 This option indicates that the operation should only be performed on
-the screen-independent RESOURCE_MANAGER property.
+the screen-independent \fBRESOURCE_MANAGER\fP property.
 .TP 8
 .B \-screen
 This option indicates that the operation should only be performed on
-the SCREEN_RESOURCES property of the default screen of the display.
+the \fBSCREEN_RESOURCES\fP property of the default screen of the display.
 .TP 8
 .B \-screens
 This option indicates that the operation should be performed on
-the SCREEN_RESOURCES property of each screen of the display.
-For \fI-load\fP, \fI-override\fP and \fI-merge\fP, the input file is
-processed for each screen.
+the \fBSCREEN_RESOURCES\fP property of each screen of the display.
+For \fB\-load\fP, \fB\-override\fP, and \fB\-merge\fP,
+the input file is processed for each screen.
 .TP 8
 .B \-n
-This option indicates that changes to the specified properties (when used with
-\fI-load\fP, \fI-override\fP or \fI-merge\fP)
-or to the resource file (when used with \fI-edit\fP) should be shown on the
+This option indicates that changes to the specified properties
+(when used with \fB\-load\fP, \fB\-override\fP, or \fB\-merge\fP)
+or to the resource file (when used with \fB\-edit\fP) should be shown on the
 standard output, but should not be performed.
 .TP 8
 .B \-quiet
 This option indicates that warning about duplicate entries should not be
 displayed.
 .TP 8
-.B -cpp \fIfilename\fP
+.B \-cpp \fIfilename\fP
 This option specifies the pathname of the C preprocessor program to be used.
 Although
-.I xrdb
-was designed to use CPP, any program that acts as a filter
-and accepts the -D, -I, and -U options may be used.
+.B xrdb
+was designed to use
+.BR cpp (1),
+any program that acts as a filter and accepts the
+.BR \-D ", " \-I ", and " \-U
+options may be used.
 .TP 8
-.B -nocpp
+.B \-nocpp
 This option indicates that
-.I xrdb
+.B xrdb
 should not run the input file through a preprocessor before loading it
 into properties.
 .TP 8
-.B -undef
-This option is passed to the C preprocessor if used. It prevents it from
-predefining any system specific macros.
+.B \-undef
+This option is passed to the C preprocessor if used.
+It prevents it from predefining any system specific macros.
 .TP 8
 .B \-E
 This option indicates that any cpp command run and the output from it should
-be shown on standard output.  If \fB\-nocpp\fP was also specified, the input
-file will be shown as read.  The specified changes will also be performed
+be shown on standard output.
+If \fB\-nocpp\fP was also specified, the input file will be shown as read.
+The specified changes will also be performed
 unless the \fB\-n\fP option is also specified.
 .TP 8
 .B \-symbols
@@ -243,10 +255,11 @@
 .TP 8
 .B \-query
 This option indicates that the current contents of the specified
-properties should be printed onto the standard output.  Note that since
-preprocessor commands in the input resource file are part of the input
-file, not part of the property, they won't appear in the output from this
-option.  The
+properties should be printed onto the standard output.
+Note that since preprocessor commands in the input resource file are part
+of the input file, not part of the property,
+they won't appear in the output from this option.
+The
 .B \-edit
 option can be used to merge the contents of properties back into the input
 resource file without damaging preprocessor commands.
@@ -257,18 +270,19 @@
 .TP 8
 .B \-load
 This option indicates that the input should be loaded as the new value
-of the specified properties, replacing whatever was there (i.e.
-the old contents are removed).  This is the default action.
+of the specified properties,
+replacing whatever was there (i.e. the old contents are removed).
+This is the default action.
 .TP 8
 .B \-override
-This option indicates that the input should be added to, instead of
-replacing, the current contents of the specified properties.
+This option indicates that the input should be added to,
+instead of replacing, the current contents of the specified properties.
 New entries override previous entries.
 .TP 8
 .B \-merge
 This option indicates that the input should be merged and lexicographically
-sorted with, instead of replacing, the current contents of the specified
-properties.
+sorted with,
+instead of replacing, the current contents of the specified properties.
 .TP 8
 .B \-remove
 This option indicates that the specified properties should be removed
@@ -276,13 +290,17 @@
 .TP 8
 .B \-retain
 This option indicates that the server should be instructed not to reset if
-\fIxrdb\fP is the first client.  This should never be necessary under normal
-conditions, since \fIxdm\fP and \fIxinit\fP always act as the first client.
+\fBxrdb\fP is the first client.
+This should never be necessary under normal conditions, since
+.BR xdm (1)
+and
+.BR xinit (1)
+always act as the first client.
 .TP 8
 .B \-edit \fIfilename\fP
-This option indicates that the contents of the specified properties
-should be edited into the given file, replacing any values already listed
-there.  This allows you to put changes that you have made to your defaults
+This option indicates that the contents of the specified properties should
+be edited into the given file, replacing any values already listed there.
+This allows you to put changes that you have made to your defaults
 back into your resource file, preserving any comments or preprocessor lines.
 .TP 8
 .B \-backup \fIstring\fP
@@ -293,7 +311,7 @@
 .B \-D\fIname[=value]\fP
 This option is passed through to the preprocessor and is used to define
 symbols for use with conditionals such as
-.I #ifdef.
+.BR #ifdef .
 .TP 8
 .B \-U\fIname\fP
 This option is passed through to the preprocessor and is used to remove
@@ -302,22 +320,26 @@
 .B \-I\fIdirectory\fP
 This option is passed through to the preprocessor and is used to specify
 a directory to search for files that are referenced with
-.I #include.
+.BR #include .
 .SH FILES
-.I Xrdb
+.B Xrdb
 does not load any files on its own, but many desktop environments use
-xrdb to load \fI~/.Xresources\fP files on session startup to initialize
-the resource database, as a generalized replacement for \fI~/.Xdefaults\fP
-files.
+.B xrdb
+to load \fB~/.Xresources\fP files on session startup to initialize
+the resource database,
+as a generalized replacement for \fB~/.Xdefaults\fP files.
 .SH "SEE ALSO"
-X(__miscmansuffix__), appres(__appmansuffix__), listres(__appmansuffix__),
-Xlib Resource Manager documentation, Xt resource documentation
+.BR X (__miscmansuffix__),
+.BR appres (__appmansuffix__),
+.BR listres (__appmansuffix__),
+.BR xdpyinfo (__appmansuffix__),
+Xlib Resource Manager documentation,
+Xt resource documentation
 .SH ENVIRONMENT
 .TP 8
 .B DISPLAY
 to figure out which display to use.
 .SH BUGS
-.PP
 The default for no arguments should be to query, not to overwrite, so that
 it is consistent with other programs.
 .SH AUTHORS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xrdb-1.2.2/meson.build new/xrdb-1.2.3/meson.build
--- old/xrdb-1.2.2/meson.build  1970-01-01 01:00:00.000000000 +0100
+++ new/xrdb-1.2.3/meson.build  2026-07-10 01:13:15.000000000 +0200
@@ -0,0 +1,137 @@
+# SPDX-License-Identifier: MIT
+#
+# Copyright (c) 2026, Oracle and/or its affiliates.
+#
+# 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.
+#
+
+project(
+  'xrdb',
+  'c',
+  version: '1.2.3',
+  license: 'MIT-open-group AND HPND-DEC',
+  license_files: 'COPYING',
+  meson_version: '>= 1.1.0',
+)
+
+conf = configuration_data()
+package_string = ' '.join(meson.project_name(), meson.project_version())
+conf.set_quoted('PACKAGE_STRING', package_string)
+
+# Replaces AC_USE_SYSTEM_EXTENSIONS
+if host_machine.system() == 'sunos'
+    system_extensions = '-D__EXTENSIONS__'
+elif host_machine.system() == 'netbsd'
+    system_extensions = '-D_OPENBSD_SOURCE'
+else
+    system_extensions = '-D_GNU_SOURCE'
+endif
+add_project_arguments(system_extensions, language: ['c'])
+
+cc = meson.get_compiler('c')
+
+# Replacement for XORG_DEFAULT_OPTIONS
+if cc.has_argument('-fno-strict-aliasing')
+  add_project_arguments('-fno-strict-aliasing', language: 'c')
+endif
+
+# Checks for system functions
+funcs_to_check = {
+  'mkstemp':       '#include <stdlib.h>',
+  'asprintf':      '#include <stdio.h>',
+  'reallocarray':  '#include <stdlib.h>',
+}
+foreach f, p: funcs_to_check
+  has_func = cc.has_function(f, args: system_extensions, prefix: p)
+  have_f_name = 'HAVE_' + f.to_upper().underscorify()
+  conf.set(have_f_name, has_func ? '1' : false,
+    description: f'Define to 1 if you have the \'@f@\' function.')
+endforeach
+
+# Find MAXHOSTNAMELEN definition
+# Common hidey holes:
+#  BSD & Linux - <sys/param.h>
+#  Solaris - <netdb.h>
+
+foreach h: ['sys/param.h', 'netdb.h']
+  found = cc.has_header_symbol(
+    h,
+    'MAXHOSTNAMELEN',
+    args: system_extensions,
+    required: false,
+  )
+  need_h_name = 'NEED_' + h.to_upper().underscorify()
+  conf.set(need_h_name, found ? '1' : false,
+    description: f'Define to 1 if you need <@h@> to define MAXHOSTNAMELEN')
+endforeach
+
+# xrdb needs to know where to find cpp at runtime - previously set as CppCmd
+# in Imake config files for each OS
+cpp = get_option('cpp')
+if cpp == ''
+  # check $PATH first
+  cpp = find_program('cpp', required: false)
+  if not cpp.found()
+    cpp = find_program('cpp', required: true,
+      dirs: ['/bin', '/usr/bin', '/usr/lib', '/usr/libexec', '/usr/ccs/lib',
+             '/usr/ccs/lbin', '/lib'])
+  endif
+  cpp_path = cpp.full_path()
+else
+  cpp_path = cpp.replace(',', '","')
+endif
+summary('cpp', cpp)
+conf.set('CPP', f'"@cpp_path@"', description: 'Path to CPP program')
+
+# Checks for pkg-config packages
+dep_libxmuu = dependency('xmuu', required: true)
+dep_libx11  = dependency('x11', required: true)
+dep_xproto  = dependency('xproto', required: true, version: '>= 7.0.25')
+deps = [dep_libxmuu, dep_libx11, dep_xproto]
+
+config_h = configure_file(output: 'config.h', configuration: conf)
+add_project_arguments('-DHAVE_CONFIG_H', language: ['c'])
+
+executable(
+  'xrdb',
+  [config_h, 'xrdb.c'],
+  dependencies: deps,
+  install: true
+)
+
+# Man page
+prog_sed = find_program('sed')
+
+custom_target(
+  'xrdb.man',
+  input: 'man/xrdb.man',
+  output: 'xrdb.1',
+  command: [
+    prog_sed,
+    '-e', f's/__xorgversion__/"@package_string@" "X Version 11"/',
+    '-e', 's/__appmansuffix__/1/g',
+    '-e', 's/__miscmansuffix__/7/g',
+    '@INPUT@',
+  ],
+  capture: true,
+  install: true,
+  install_dir: get_option('mandir') / 'man1',
+  install_tag: 'man',
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xrdb-1.2.2/meson.options new/xrdb-1.2.3/meson.options
--- old/xrdb-1.2.2/meson.options        1970-01-01 01:00:00.000000000 +0100
+++ new/xrdb-1.2.3/meson.options        2026-07-10 01:13:15.000000000 +0200
@@ -0,0 +1,5 @@
+option(
+  'cpp',
+  type: 'string',
+  description: 'comma-separated list of paths to cpp command for xrdb to use 
at runtime',
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xrdb-1.2.2/missing new/xrdb-1.2.3/missing
--- old/xrdb-1.2.2/missing      2023-06-03 19:44:08.000000000 +0200
+++ new/xrdb-1.2.3/missing      2026-07-10 01:13:19.000000000 +0200
@@ -1,9 +1,11 @@
 #! /bin/sh
-# Common wrapper for a few potentially missing GNU programs.
+# Common wrapper for a few potentially missing GNU and other programs.
 
-scriptversion=2018-03-07.03; # UTC
+scriptversion=2025-06-18.21; # UTC
 
-# Copyright (C) 1996-2021 Free Software Foundation, Inc.
+# shellcheck disable=SC2006,SC2268 # we must support pre-POSIX shells
+
+# Copyright (C) 1996-2025 Free Software Foundation, Inc.
 # Originally written by Fran,cois Pinard <[email protected]>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
@@ -54,18 +56,20 @@
   -v, --version   output version information and exit
 
 Supported PROGRAM values:
-  aclocal   autoconf  autoheader   autom4te  automake  makeinfo
-  bison     yacc      flex         lex       help2man
+aclocal autoconf autogen  autoheader autom4te automake autoreconf
+bison   flex     help2man lex        makeinfo perl     yacc
 
 Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
 'g' are ignored when checking the name.
 
-Send bug reports to <[email protected]>."
+Report bugs to <[email protected]>.
+GNU Automake home page: <https://www.gnu.org/software/automake/>.
+General help using GNU software: <https://www.gnu.org/gethelp/>."
     exit $?
     ;;
 
   -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
-    echo "missing $scriptversion (GNU Automake)"
+    echo "missing (GNU Automake) $scriptversion"
     exit $?
     ;;
 
@@ -108,7 +112,7 @@
 program_details ()
 {
   case $1 in
-    aclocal|automake)
+    aclocal|automake|autoreconf)
       echo "The '$1' program is part of the GNU Automake package:"
       echo "<$gnu_software_URL/automake>"
       echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
@@ -123,6 +127,9 @@
       echo "<$gnu_software_URL/m4/>"
       echo "<$perl_URL>"
       ;;
+    *)
+      :
+      ;;
   esac
 }
 
@@ -137,48 +144,55 @@
   printf '%s\n' "'$1' is $msg."
 
   configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+  autoheader_deps="'acconfig.h'"
+  automake_deps="'Makefile.am'"
+  aclocal_deps="'acinclude.m4'"
   case $normalized_program in
+    aclocal*)
+      echo "You should only need it if you modified $aclocal_deps or"
+      echo "$configure_deps."
+      ;;
     autoconf*)
-      echo "You should only need it if you modified 'configure.ac',"
-      echo "or m4 files included by it."
-      program_details 'autoconf'
+      echo "You should only need it if you modified $configure_deps."
+      ;;
+    autogen*)
+      echo "You should only need it if you modified a '.def' or '.tpl' file."
+      echo "You may want to install the GNU AutoGen package:"
+      echo "<$gnu_software_URL/autogen/>"
       ;;
     autoheader*)
-      echo "You should only need it if you modified 'acconfig.h' or"
+      echo "You should only need it if you modified $autoheader_deps or"
       echo "$configure_deps."
-      program_details 'autoheader'
       ;;
     automake*)
-      echo "You should only need it if you modified 'Makefile.am' or"
-      echo "$configure_deps."
-      program_details 'automake'
-      ;;
-    aclocal*)
-      echo "You should only need it if you modified 'acinclude.m4' or"
+      echo "You should only need it if you modified $automake_deps or"
       echo "$configure_deps."
-      program_details 'aclocal'
       ;;
-   autom4te*)
+    autom4te*)
       echo "You might have modified some maintainer files that require"
       echo "the 'autom4te' program to be rebuilt."
-      program_details 'autom4te'
+      ;;
+    autoreconf*)
+      echo "You should only need it if you modified $aclocal_deps or"
+      echo "$automake_deps or $autoheader_deps or $automake_deps or"
+      echo "$configure_deps."
       ;;
     bison*|yacc*)
       echo "You should only need it if you modified a '.y' file."
       echo "You may want to install the GNU Bison package:"
       echo "<$gnu_software_URL/bison/>"
       ;;
-    lex*|flex*)
-      echo "You should only need it if you modified a '.l' file."
-      echo "You may want to install the Fast Lexical Analyzer package:"
-      echo "<$flex_URL>"
-      ;;
     help2man*)
       echo "You should only need it if you modified a dependency" \
            "of a man page."
       echo "You may want to install the GNU Help2man package:"
       echo "<$gnu_software_URL/help2man/>"
     ;;
+    lex*|flex*)
+      echo "You should only need it if you modified a '.l' file."
+      echo "You may want to install the Fast Lexical Analyzer package:"
+      echo "<$flex_URL>"
+      ;;
     makeinfo*)
       echo "You should only need it if you modified a '.texi' file, or"
       echo "any other file indirectly affecting the aspect of the manual."
@@ -189,6 +203,12 @@
       echo "want to install GNU make:"
       echo "<$gnu_software_URL/make/>"
       ;;
+    perl*)
+      echo "You should only need it to run GNU Autoconf, GNU Automake, "
+      echo "  assorted other tools, or if you modified a Perl source file."
+      echo "You may want to install the Perl 5 language interpreter:"
+      echo "<$perl_URL>"
+      ;;
     *)
       echo "You might have modified some files without having the proper"
       echo "tools for further handling them.  Check the 'README' file, it"
@@ -197,6 +217,7 @@
       echo "case some other package contains this missing '$1' program."
       ;;
   esac
+  program_details "$normalized_program"
 }
 
 give_advice "$1" | sed -e '1s/^/WARNING: /' \
@@ -207,9 +228,9 @@
 exit $st
 
 # Local variables:
-# eval: (add-hook 'before-save-hook 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp nil t)
 # time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-format: "%Y-%02m-%02d.%02H"
 # time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xrdb-1.2.2/xrdb.c new/xrdb-1.2.3/xrdb.c
--- old/xrdb-1.2.2/xrdb.c       2023-06-03 19:44:04.000000000 +0200
+++ new/xrdb-1.2.3/xrdb.c       2026-07-10 01:13:15.000000000 +0200
@@ -230,7 +230,7 @@
             fatal("%s: Can't allocate memory in %s\n", ProgramName, __func__);
         b->room *= 2;
     }
-    strncpy(b->buff + b->used, str, len);
+    memcpy(b->buff + b->used, str, len);
     b->used += len;
 }
 
@@ -768,7 +768,7 @@
 }
 
 static void _X_NORETURN _X_COLD
-Syntax(const char *errmsg)
+Syntax(const char *errmsg, int exitstatus)
 {
     if (errmsg != NULL)
         fprintf(stderr, "%s: %s\n", ProgramName, errmsg);
@@ -802,7 +802,7 @@
             "\n"
             "A - or no input filename represents stdin.\n",
             ProgramName, cpp_program ? cpp_program : "", BACKUP_SUFFIX);
-    exit(1);
+    exit(exitstatus);
 }
 
 /*
@@ -943,29 +943,31 @@
                 filename = NULL;
                 continue;
             }
-            else if (isabbreviation("-help", arg, 2)) {
-                Syntax(NULL);
+            else if (isabbreviation("-help", arg, 2) ||
+                     !strcmp("--help", arg)) {
+                Syntax(NULL, EXIT_SUCCESS);
                 /* doesn't return */
             }
-            else if (isabbreviation("-version", arg, 2)) {
-                printf("%s\n", PACKAGE_STRING);
-                exit(0);
+            else if (isabbreviation("-version", arg, 2) ||
+                     !strcmp("--version", arg)) {
+                puts(PACKAGE_STRING);
+                exit(EXIT_SUCCESS);
             }
             else if (isabbreviation("-display", arg, 2)) {
                 if (++i >= argc)
-                    Syntax("-display requires an argument");
+                    Syntax("-display requires an argument", EXIT_FAILURE);
                 displayname = argv[i];
                 continue;
             }
             else if (isabbreviation("-geometry", arg, 3)) {
                 if (++i >= argc)
-                    Syntax("-geometry requires an argument");
+                    Syntax("-geometry requires an argument", EXIT_FAILURE);
                 /* ignore geometry */
                 continue;
             }
             else if (isabbreviation("-cpp", arg, 2)) {
                 if (++i >= argc)
-                    Syntax("-cpp requires an argument");
+                    Syntax("-cpp requires an argument", EXIT_FAILURE);
                 cpp_program = argv[i];
                 continue;
             }
@@ -988,7 +990,7 @@
             else if (isabbreviation("-get", arg, 2)) {
                 oper = OPGET;
                 if (++i >= argc)
-                    Syntax("-get requires an argument");
+                    Syntax("-get requires an argument", EXIT_FAILURE);
                 resource_name = argv[i];
                 continue;
             }
@@ -1014,14 +1016,14 @@
             }
             else if (isabbreviation("-edit", arg, 2)) {
                 if (++i >= argc)
-                    Syntax("-edit requires an argument");
+                    Syntax("-edit requires an argument", EXIT_FAILURE);
                 oper = OPEDIT;
                 editFile = argv[i];
                 continue;
             }
             else if (isabbreviation("-backup", arg, 2)) {
                 if (++i >= argc)
-                    Syntax("-backup requires an argument");
+                    Syntax("-backup requires an argument", EXIT_FAILURE);
                 backup_suffix = argv[i];
                 continue;
             }
@@ -1074,7 +1076,7 @@
             }
             fprintf(stderr, "%s: unrecognized argument '%s'\n",
                     ProgramName, arg);
-            Syntax(NULL);
+            Syntax(NULL, EXIT_FAILURE);
         }
         else if (arg[0] == '=')
             continue;
@@ -1222,7 +1224,7 @@
     if (retainProp)
         XSetCloseDownMode(dpy, RetainPermanent);
     XCloseDisplay(dpy);
-    exit(0);
+    exit(EXIT_SUCCESS);
 }
 
 
@@ -1563,5 +1565,5 @@
     va_start(args, msg);
     vfprintf(stderr, msg, args);
     va_end(args);
-    exit(1);
+    exit(EXIT_FAILURE);
 }

Reply via email to