[AIX][libc++] Mark offset_range test UNSUPPORTED on 32-bit AIX due to 32-bit off_t (#200861)
Marking the test as UNSUPPORTED and combined the comment since both
platforms have the same fundamental limitation with `32-bit off_t`.
---------
Co-authored-by: himadhith <himadhith.v at ibm.com>
interfaces: parse ifconfig output despite exit error in legacy_interfaces_details()
PR: https://github.com/opnsense/src/issues/284
In this version print the error number and stderr output. We'd like to know
which part of ifconfig fails and don't want to taint the parser output. If
it's empty it's empty anyway.
Suggested by: @e-alfred
(devel/R-lifecycle) Updated 1.0.4 to 1.0.5
# lifecycle 1.0.5
* `signal_stage()` no longer does anything, and is now purely a way to
express intent at the call site of whether a function is superseded
or experimental (#203).
* `deprecate_soft()` and `deprecate_warn()` are faster thanks to some
internal refactoring (#191, #194, #195, #201).
* `deprecate_soft()` and `deprecate_warn()` now only warn once per
session rather than attempting to warn once every 8 hours. This
never actually worked (#196).
* Improvements to `lint_lifecycle()` and `lint_tidyverse_lifecycle()`
(@AshesITR):
* Updated to support lintr >= 3.0.0 (#178).
* Fixed default `pattern=` argument to only find R files (#165).
[12 lines not shown]
[flang][hlfir] Extend InlineHLFIRCopy to inline copy_out with copy-back (#202290)
Rename `InlineHLFIRCopyIn` to `InlineHLFIRCopy` and extend it to inline
the paired `hlfir.copy_out` operation. The copy_out is inlined at its
original location, after the call, ensuring proper ordering of copy-back
and deallocation.
Only inlines when no copy-back is required (intent(in));
intent(inout/out) pairs are left untransformed.
Based on https://github.com/llvm/llvm-project/pull/179096.
Co-Authored-By: Kazuaki Matsumura <kmatsumura at nvidia.com> (Original
author of the changes).
Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>
Co-authored-by: Kazuaki Matsumura <kmatsumura at nvidia.com>
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
[libc++] Finish converting __wrap_iter::operator<,== to C++20 (#193287)
+ operator< was overlooked in #179590
+ operator< was not marked constexpr in C++11
+ operator== should be defaulted when possible in C++20
Fixes #193283
[flang][hlfir] Extend InlineHLFIRCopy to inline copy_out with copy-back
Rename `InlineHLFIRCopyIn` to `InlineHLFIRCopy` and extend it to inline
the paired `hlfir.copy_out` operation. The copy_out is inlined at its
original location, after the call, ensuring proper ordering of copy-back
and deallocation.
Only inlines when no copy-back is required (intent(in)); intent(inout/out)
pairs are left untransformed.
Based on https://github.com/llvm/llvm-project/pull/179096.
Co-Authored-By: Kazuaki Matsumura <kmatsumura at nvidia.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>
jobs/conflicts: fix data corruption in conflict_items_insert
conflict_items_insert called vec_push first, then memmove to shift
elements right at the insertion position. This overwrote the just-pushed
element at the end of the vector, duplicating the last existing element
instead.
Fix by growing capacity manually, shifting elements first, then
inserting at the correct position.
pkghash: fix deletion in open-addressing hash table
Use tombstone markers instead of NULLing keys on deletion.
In open-addressing with linear probing, setting key to NULL creates
a hole that breaks probe chains for subsequent lookups.
Track tombstones and trigger rehash when tombstone density exceeds 25%
to guarantee bounded probe sequences.
fdopendir UB: use dirfd() instead of raw fd
POSIX states that after fdopendir(), the file descriptor is under
the control of the system and must not be used directly. Use dirfd()
to retrieve the fd from the DIR stream for subsequent openat()
and fstatat() calls.
Rename dirfd variable in clean_cache.c to avoid collision with
the POSIX dirfd() function.
pkg: simplify pkg_is_valid with table-driven NULL checks
Replace the chain of 9 identical if/return checks with a loop over
a table of (offsetof, name) pairs. This reduces ~50 lines to ~25,
makes the required-fields list explicit, and simplifies adding or
removing required fields in the future.
manifest: replace sscanf in url_decode with manual hex conversion
The sscanf("%2x") call in url_decode is expensive and pulls in
the full scanf machinery. Replace it with a simple inline hex
conversion using the (c | 32) trick to normalize letter case.
manifest: replace script-type if-chains with table-driven lookups
Replace the manual if/STREQ chains in script_type_str() and
lua_script_type_str() with loops over static const lookup tables.
This makes the valid types explicit and simplifies adding new script
types in the future.
add: fix temp file leak and potential buffer overflow in merge_with_external_tool
- Unlink the output_path temp file on all error paths (strlcpy truncation
and tmp file creation failures) to prevent leaking temp files in /tmp.
- Fix potential buffer overflow when constructing the merge command:
strlcpy returns the full source length even on truncation, which could
advance i past the command[MAXPATHLEN] bounds. Cap at the actual
number of bytes written to stay within the buffer.
checksum: replace sprintf in hex encoding with inline conversion
Replace sprintf("%02x") in pkg_checksum_encode_hex with a
simple lookup table for hex characters. This is faster (no
format string parsing) and equally clear.