HomeFreeBSD

lorder: Clean up and improve robustness.

Description

lorder: Clean up and improve robustness.

  • Properly parse (no) command-line options.
  • Ensure that errors go to stderr and result in a non-zero exit.
  • Drop the special-case code for a single argument, as it will produce the wrong outcome if the file does not exist or is corrupted.
  • Don't print anything until after we've collected all the data.
  • Always create all temporary files before setting the trap. This ensures that the trap can safely fire at any moment, regardless of any previous definition of T.
  • Use a temporary file rather than a pipe between nm and sed to ensure proper termination if nm fails due to a missing or invalid input.
  • The check for self-referential entries was conditional on testing our argument list against a regex looking for archives. This was a needless and unreliable optimization; make the check unconditional.
  • Document that lorder will not work properly if any of its inputs have spaces in their name.

MFC after: 1 week
Sponsored by: Klara, Inc.
Reviewed by: allanjude
Differential Revision: https://reviews.freebsd.org/D44133

Details

Provenance
desAuthored on Feb 28 2024, 3:37 PM
Reviewer
allanjude
Differential Revision
D44133: lorder: Clean up and improve robustness.
Parents
rGcb4a83cff01c: gicv3: If the LPI is already allocated, remember it
Branches
Unknown
Tags
Unknown