瀏覽代碼

Fix log_loop emitting an empty line on zero output

master
JustAnotherArchivist 1 年之前
父節點
當前提交
6c6e8281d5
共有 1 個檔案被更改,包括 2 行新增2 行删除
  1. +2
    -2
      codearchiver-bot

+ 2
- 2
codearchiver-bot 查看文件

@@ -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…
取消
儲存