SIGN IN SIGN UP

tar: report skipped hardlink entries and set non-zero exit status

edit_pathname() silently discarded entries whose hardlink target reduced
to the empty string after strip_absolute_path(), returning 1 without a
diagnostic and without setting bsdtar->return_value.  This made the data
loss undetectable: bsdtar exited 0 and printed only the generic "Removing
leading / from member names" message.

Add a lafe_warnc() diagnostic naming the skipped entry and set
bsdtar->return_value = 1 before returning, so callers can detect the
incomplete output.  Closes #3378.

Signed-off-by: lilu <lilu@kylinos.cn>
L
lilu committed
9f91fd439a14f1d9602f698e569b2c693f550c3e
Parent: 40da2cd