[Rpm-maint] [rpm-software-management/rpm] Eliminate signedness mismatch from RPMTAG_NOT_FOUND (PR #2390)
Panu Matilainen
notifications at github.com
Thu Feb 9 13:42:48 UTC 2023
RPMTAG_NOT_FOUND being -1 while all the valid data is unsigned causes all manner of headaches throughout the code in the form of type mismatches and potential associated bugs. Zero makes for a much nicer not-found value, shuffle things around a little to make this possible.
The caveat of course is that RPMTAG_NOT_FOUND has been -1 forever and so there may be code testing for < 0 rather than the explicit value.
Thoughts?
You can view, comment on, or merge this pull request online at:
https://github.com/rpm-software-management/rpm/pull/2390
-- Commit Summary --
* Fix some non-functional signed integer references to unsigned
* Switch all header entryinfo pointers from int32_t to uint32_t
* Switch header index and datalength types from int32_t to uint32_t
* Switch header region index and data lengths to unsigned integers
* Refactor regionSwab() to return the length through a pointer
* Refactor dataLength() to return the length through a pointer
* Switch regionSwab() length return type to unsigned, update callers
* Refactor strtaglen() to return the length through a pointer
* Switch the various header data length arguments to unsigned
* Use proper type for copyTagsFromMainDebug
* Move RPMTAG_NOT_FOUND out of the rpmTag enum into a macro
* Bump RPMDBI_PACKAGES enum from 0 to 1
* Fix rpmTagGetValue() error return documentation
* Redefine RPMTAG_NOT_FOUND as 0 now that we can
-- File Changes --
M build/files.c (2)
M include/rpm/rpmtag.h (7)
M lib/header.c (178)
M lib/header_internal.h (12)
M lib/package.c (2)
M lib/query.c (2)
-- Patch Links --
https://github.com/rpm-software-management/rpm/pull/2390.patch
https://github.com/rpm-software-management/rpm/pull/2390.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2390
You are receiving this because you are subscribed to this thread.
Message ID: <rpm-software-management/rpm/pull/2390 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20230209/7c0dd55a/attachment.html>
More information about the Rpm-maint
mailing list