facebook / facebook/zstd

Unable to set log level to 2 when stderr isn't tty

オープン
#2,948 コメント 2 件 リアクション 1 件 担当者 0 名 GitHub で見る
主要言語
C
スター
27.9k
フォーク
2.6k
平均マージ
1日 3時間
マージ済み PR(30日)
8

説明

Setting to other log levels do work. Only level=2 (the default) is broken. This breaks things like GNU parallel.
Removing the following line make it work again:
```
diff -pru zstd-1.5.1.orig/programs/zstdcli.c zstd-1.5.1/programs/zstdcli.c
--- zstd-1.5.1.orig/programs/zstdcli.c<>2021-12-20 22:49:18.000000000 +0000
+++ zstd-1.5.1/programs/zstdcli.c<->2021-12-22 15:21:02.979589075 +0000
@@ -1402,8 +1402,6 @@ int main(int argCount, const char* argv[
/* No status message in pipe mode (stdin - stdout) */
hasStdout = outFileName && !strcmp(outFileName,stdoutmark);

- if ((hasStdout || !IS_CONSOLE(stderr)) && (g_displayLevel==2)) g_displayLevel=1;
-
/* IO Stream/File */
FIO_setHasStdoutOutput(fCtx, hasStdout);
FIO_setNbFilesTotal(fCtx, (int)filenames->tableSize);
```
No time to file a pull request. Sorry! Too busy at work.

BTW, stdio redirection doesn't necessarily mean to/from pipes. They (stdin, stdout, stderr) can also be regular files, but this is another bug that I have no time to report at present.

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。