[Rpm-maint] [rpm-software-management/rpm] Convert variable length arrays to C++ strings and vectors (PR #4113)

Panu Matilainen notifications at github.com
Tue Feb 10 09:33:09 UTC 2026


See commit messages for details, but in short C99 VLA's are not a part of C++. Gcc and clang implement them as compiler extensions, but the latter issues warnings - for a good reason. Minimally convert the ones that can't be eliminated as redundant (PR #4111) to C++ strings and vectors. All the places we touch here could do with a larger C++ refactoring, but we're only here for the VLA's so try to keep things small.

Together with #4107 and #4111 fixes #4105: clang build with -Werror
You can view, comment on, or merge this pull request online at:

  https://github.com/rpm-software-management/rpm/pull/4113

-- Commit Summary --

  * Eliminate variable length array (VLA) uses in the macro engine
  * Eliminate variable length array (VLA) use in rpmvercmp()
  * Eliminate variable length array (VLA) use in various temp buffers
  * Eliminate variable length array (VLA) use in headerFormat()
  * Eliminate variable length array (VLA) use in rpmtriggers
  * Eliminate variable length array (VLA) use in rpmdb label parsing
  * Eliminate variable length array (VLA) use in cli query filter parsing
  * Eliminate variable length array (VLA) use in cpio strntoul()
  * Eliminate variable length array (VLA) use in rpmuncompress gem handling
  * Eliminate variable length array (VLA) use in %files lang parsing
  * Eliminate variable length array (VLA) use in spec file addition
  * Eliminate variable length array (VLA) use in spec %files parsing

-- File Changes --

    M build/files.cc (19)
    M lib/cpio.cc (14)
    M lib/headerfmt.cc (7)
    M lib/query.cc (21)
    M lib/rpmdb.cc (12)
    M lib/rpmfi.cc (5)
    M lib/rpmtriggers.cc (5)
    M lib/rpmug.cc (3)
    M lib/verify.cc (8)
    M rpmio/macro.cc (10)
    M rpmio/rpmvercmp.cc (23)
    M sign/rpmsignfiles.cc (7)
    M tools/rpmuncompress.cc (7)

-- Patch Links --

https://github.com/rpm-software-management/rpm/pull/4113.patch
https://github.com/rpm-software-management/rpm/pull/4113.diff

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/4113
You are receiving this because you are subscribed to this thread.

Message ID: <rpm-software-management/rpm/pull/4113 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20260210/10cd6751/attachment.htm>


More information about the Rpm-maint mailing list