Anselm, thanks for applying the patches. I've rebased on latest git. Changes since v3: - Rebase on latest git, merging change to close files on error from Hiltjo (af392d1a764d7420c7b05bb9e13d7766a5979894).
Changes since v2: - Rebase on latest git. Changes since v1: - Changed concat to return -2 on write error so that callers have the option to handle it differently. - Added a patch to libutil/cp.c to preserve atime/mtime for symlinks. - Changed the od overflow fix to be a bit clearer and avoid casting off_t to size_t. - Switched tail to use raw IO and concat as well. - Added a patch to tail to make -c offsets refer to bytes instead of runes. Michael Forney (4): concat: Use plain read/write instead of buffered stdio cp: Only call chmod with -p or -a tail: Use fstat in case file is removed tail: Process bytes with -c option, and add -m option for runes cat.c | 39 ++++----- libutil/concat.c | 24 +++--- libutil/cp.c | 54 ++++++------- sponge.c | 31 ++++---- tail.1 | 6 +- tail.c | 236 ++++++++++++++++++++++++++++++++++--------------------- text.h | 1 - util.h | 1 + xinstall.c | 25 +++--- 9 files changed, 233 insertions(+), 184 deletions(-) -- 2.13.2