Browse Source

Fix log_loop emitting an empty line on zero output

master
JustAnotherArchivist 1 year ago
parent
commit
6c6e8281d5
1 changed files with 2 additions and 2 deletions
  1. +2
    -2
      codearchiver-bot

+ 2
- 2
codearchiver-bot View File

@@ -27,8 +27,8 @@ function log {

function log_loop {
prefix="$1"
# If the output does not end with a LF, add one. Then replace CRLF with LF and replace remaining CR with LF.
{ lastchar="$(tee /dev/fd/42 | tail -c 1 | xxd -p)"; if [[ "${lastchar}" != '0a' ]]; then printf '\n'; fi } 42>&1 |
# If there is output and it does not end with a LF, add one. Then replace CRLF with LF and replace remaining CR with LF.
{ lastchar="$(tee /dev/fd/42 | tail -c 1 | xxd -p)"; if [[ "${lastchar}" && "${lastchar}" != '0a' ]]; then printf '\n'; fi } 42>&1 |
sed -u 's,\r$,,; s,\r,\n,g' |
while IFS= read -r line; do log "${prefix}${line}"; done
}


Loading…
Cancel
Save