New "--format" sequences "{progress-bar-only}" and "{progress-amount-only}".
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
* *feature:* new **--format** sequence "**%nL**", showing the most recent line written (#121)
|
||||
* *feature:* each **--format** sequence now has a more readable equivalent name, for example "**%r**" can be written as "**%{rate}**"
|
||||
* *feature:* new **--format** sequences "**%{progress-bar-only}**" and "**%{progress-amount-only}**"
|
||||
* *fix:* allow **--format** to include "%nA" more than once, with different "n" values (#122)
|
||||
* *fix:* allow **--format** to include "%p" more than once
|
||||
* *fix:* add _configure_ script fallback for **--remote** check when cross-compiling (#120)
|
||||
|
||||
@@ -477,6 +477,15 @@ Equivalent to \*(lq\fB\-\-progress\fR\*(rq.
|
||||
Expands to fill the remaining space unless prefixed by a number to set the
|
||||
width, such as \*(lq\fB%20p\fR\*(rq or \*(lq\fB%20{progress}\fR\*(rq.
|
||||
.TP
|
||||
.B %{progress-bar-only}
|
||||
Progress bar, without any sides, and without any percentage displayed
|
||||
afterwards.
|
||||
Expands to fill the remaining space unless prefixed by a number.
|
||||
.TP
|
||||
.B %{progress-amount-only}
|
||||
The percentage completion (or maximum rate, with \*(lq\fB\-\-gauge\fR\*(rq
|
||||
when the size is unknown).
|
||||
.TP
|
||||
.BR %t ", " %{timer}
|
||||
Elapsed time.
|
||||
Equivalent to \*(lq\fB\-\-timer\fR\*(rq.
|
||||
|
||||
@@ -427,6 +427,17 @@ contain the following sequences:
|
||||
unless prefixed by a number to set the width, such as "**%20p**" or
|
||||
"**%20{progress}**".
|
||||
|
||||
**%{progress-bar-only}**
|
||||
|
||||
: Progress bar, without any sides, and without any percentage
|
||||
displayed afterwards. Expands to fill the remaining space unless
|
||||
prefixed by a number.
|
||||
|
||||
**%{progress-amount-only}**
|
||||
|
||||
: The percentage completion (or maximum rate, with "**\--gauge**" when
|
||||
the size is unknown).
|
||||
|
||||
**%t**, **%{timer}**
|
||||
|
||||
: Elapsed time. Equivalent to "**\--timer**".
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Report-Msgid-Bugs-To: pv@ivarch.com\n"
|
||||
"POT-Creation-Date: 2024-12-08 17:39+0000\n"
|
||||
"POT-Creation-Date: 2024-12-08 20:11+0000\n"
|
||||
"PO-Revision-Date: 2024-10-13 20:43+0000\n"
|
||||
"Last-Translator: mmatous <mmatous@users.noreply.translate.codeberg.org>\n"
|
||||
"Language-Team: Czech <https://translate.codeberg.org/projects/pv/pv/cs/>\n"
|
||||
@@ -403,37 +403,37 @@ msgstr "yzafpnum kMGTPEZY"
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr "yzafpnum KMGTPEZY"
|
||||
|
||||
#: src/pv/display.c:515 src/pv/display.c:893 src/pv/display.c:922
|
||||
#: src/pv/display.c:523 src/pv/display.c:998 src/pv/display.c:1027
|
||||
#: src/pv/loop.c:549
|
||||
msgid "b/s"
|
||||
msgstr "b/s"
|
||||
|
||||
#: src/pv/display.c:519 src/pv/display.c:897 src/pv/display.c:926
|
||||
#: src/pv/display.c:527 src/pv/display.c:1002 src/pv/display.c:1031
|
||||
msgid "/s"
|
||||
msgstr "/s"
|
||||
|
||||
#: src/pv/display.c:519 src/pv/display.c:897 src/pv/display.c:926
|
||||
#: src/pv/display.c:527 src/pv/display.c:1002 src/pv/display.c:1031
|
||||
#: src/pv/loop.c:549
|
||||
msgid "B/s"
|
||||
msgstr "B/s"
|
||||
|
||||
#: src/pv/display.c:770 src/pv/display.c:774
|
||||
#: src/pv/display.c:875 src/pv/display.c:879
|
||||
msgid "ETA"
|
||||
msgstr "ETA"
|
||||
|
||||
#: src/pv/display.c:856
|
||||
#: src/pv/display.c:961
|
||||
msgid "FIN"
|
||||
msgstr "FIN"
|
||||
|
||||
#: src/pv/display.c:952
|
||||
#: src/pv/display.c:1057
|
||||
msgid "b"
|
||||
msgstr "b"
|
||||
|
||||
#: src/pv/display.c:955 src/pv/transfer.c:594
|
||||
#: src/pv/display.c:1060 src/pv/transfer.c:594
|
||||
msgid "B"
|
||||
msgstr "B"
|
||||
|
||||
#: src/pv/display.c:1495 src/pv/transfer.c:1056
|
||||
#: src/pv/display.c:1602 src/pv/transfer.c:1056
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "selhala alokace vyrovnávací paměti"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Report-Msgid-Bugs-To: pv@ivarch.com\n"
|
||||
"POT-Creation-Date: 2024-12-08 17:39+0000\n"
|
||||
"POT-Creation-Date: 2024-12-08 20:11+0000\n"
|
||||
"PO-Revision-Date: 2024-10-13 20:43+0000\n"
|
||||
"Last-Translator: fnetX <otto@codeberg.org>\n"
|
||||
"Language-Team: German <https://translate.codeberg.org/projects/pv/pv/de/>\n"
|
||||
@@ -426,37 +426,37 @@ msgstr "yzafpnµm kMGTPEZY"
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr "yzafpnµm KMGTPEZY"
|
||||
|
||||
#: src/pv/display.c:515 src/pv/display.c:893 src/pv/display.c:922
|
||||
#: src/pv/display.c:523 src/pv/display.c:998 src/pv/display.c:1027
|
||||
#: src/pv/loop.c:549
|
||||
msgid "b/s"
|
||||
msgstr "b/s"
|
||||
|
||||
#: src/pv/display.c:519 src/pv/display.c:897 src/pv/display.c:926
|
||||
#: src/pv/display.c:527 src/pv/display.c:1002 src/pv/display.c:1031
|
||||
msgid "/s"
|
||||
msgstr "/s"
|
||||
|
||||
#: src/pv/display.c:519 src/pv/display.c:897 src/pv/display.c:926
|
||||
#: src/pv/display.c:527 src/pv/display.c:1002 src/pv/display.c:1031
|
||||
#: src/pv/loop.c:549
|
||||
msgid "B/s"
|
||||
msgstr "B/s"
|
||||
|
||||
#: src/pv/display.c:770 src/pv/display.c:774
|
||||
#: src/pv/display.c:875 src/pv/display.c:879
|
||||
msgid "ETA"
|
||||
msgstr "ETA"
|
||||
|
||||
#: src/pv/display.c:856
|
||||
#: src/pv/display.c:961
|
||||
msgid "FIN"
|
||||
msgstr "Endzeit"
|
||||
|
||||
#: src/pv/display.c:952
|
||||
#: src/pv/display.c:1057
|
||||
msgid "b"
|
||||
msgstr "b"
|
||||
|
||||
#: src/pv/display.c:955 src/pv/transfer.c:594
|
||||
#: src/pv/display.c:1060 src/pv/transfer.c:594
|
||||
msgid "B"
|
||||
msgstr "B"
|
||||
|
||||
#: src/pv/display.c:1495 src/pv/transfer.c:1056
|
||||
#: src/pv/display.c:1602 src/pv/transfer.c:1056
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "Speicherzuweisung für den Puffer fehlgeschlagen"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Report-Msgid-Bugs-To: pv@ivarch.com\n"
|
||||
"POT-Creation-Date: 2024-12-08 17:39+0000\n"
|
||||
"POT-Creation-Date: 2024-12-08 20:11+0000\n"
|
||||
"Language: es\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -395,37 +395,37 @@ msgstr ""
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:515 src/pv/display.c:893 src/pv/display.c:922
|
||||
#: src/pv/display.c:523 src/pv/display.c:998 src/pv/display.c:1027
|
||||
#: src/pv/loop.c:549
|
||||
msgid "b/s"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:519 src/pv/display.c:897 src/pv/display.c:926
|
||||
#: src/pv/display.c:527 src/pv/display.c:1002 src/pv/display.c:1031
|
||||
msgid "/s"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:519 src/pv/display.c:897 src/pv/display.c:926
|
||||
#: src/pv/display.c:527 src/pv/display.c:1002 src/pv/display.c:1031
|
||||
#: src/pv/loop.c:549
|
||||
msgid "B/s"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:770 src/pv/display.c:774
|
||||
#: src/pv/display.c:875 src/pv/display.c:879
|
||||
msgid "ETA"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:856
|
||||
#: src/pv/display.c:961
|
||||
msgid "FIN"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:952
|
||||
#: src/pv/display.c:1057
|
||||
msgid "b"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:955 src/pv/transfer.c:594
|
||||
#: src/pv/display.c:1060 src/pv/transfer.c:594
|
||||
msgid "B"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:1495 src/pv/transfer.c:1056
|
||||
#: src/pv/display.c:1602 src/pv/transfer.c:1056
|
||||
msgid "buffer allocation failed"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Report-Msgid-Bugs-To: pv@ivarch.com\n"
|
||||
"POT-Creation-Date: 2024-12-08 17:39+0000\n"
|
||||
"POT-Creation-Date: 2024-12-08 20:11+0000\n"
|
||||
"PO-Revision-Date: 2024-10-12 11:13+0000\n"
|
||||
"Last-Translator: a-j-wood <a-j-wood@users.noreply.translate.codeberg.org>\n"
|
||||
"Language-Team: French <https://translate.codeberg.org/projects/pv/pv/fr/>\n"
|
||||
@@ -430,37 +430,37 @@ msgstr ""
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:515 src/pv/display.c:893 src/pv/display.c:922
|
||||
#: src/pv/display.c:523 src/pv/display.c:998 src/pv/display.c:1027
|
||||
#: src/pv/loop.c:549
|
||||
msgid "b/s"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:519 src/pv/display.c:897 src/pv/display.c:926
|
||||
#: src/pv/display.c:527 src/pv/display.c:1002 src/pv/display.c:1031
|
||||
msgid "/s"
|
||||
msgstr "/s"
|
||||
|
||||
#: src/pv/display.c:519 src/pv/display.c:897 src/pv/display.c:926
|
||||
#: src/pv/display.c:527 src/pv/display.c:1002 src/pv/display.c:1031
|
||||
#: src/pv/loop.c:549
|
||||
msgid "B/s"
|
||||
msgstr "O/s"
|
||||
|
||||
#: src/pv/display.c:770 src/pv/display.c:774
|
||||
#: src/pv/display.c:875 src/pv/display.c:879
|
||||
msgid "ETA"
|
||||
msgstr "ETA"
|
||||
|
||||
#: src/pv/display.c:856
|
||||
#: src/pv/display.c:961
|
||||
msgid "FIN"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:952
|
||||
#: src/pv/display.c:1057
|
||||
msgid "b"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:955 src/pv/transfer.c:594
|
||||
#: src/pv/display.c:1060 src/pv/transfer.c:594
|
||||
msgid "B"
|
||||
msgstr "O"
|
||||
|
||||
#: src/pv/display.c:1495 src/pv/transfer.c:1056
|
||||
#: src/pv/display.c:1602 src/pv/transfer.c:1056
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "échec de l'allocation de mémoire tampon"
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: pv@ivarch.com\n"
|
||||
"POT-Creation-Date: 2024-12-08 17:39+0000\n"
|
||||
"POT-Creation-Date: 2024-12-08 20:11+0000\n"
|
||||
"PO-Revision-Date: 2024-10-20 14:07+0000\n"
|
||||
"Last-Translator: coralpink <coralpink@users.noreply.translate.codeberg.org>\n"
|
||||
"Language-Team: Polish <https://translate.codeberg.org/projects/pv/pv/pl/>\n"
|
||||
@@ -421,37 +421,37 @@ msgstr "yzafpnum kMGTPEZY"
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr "yzafpnum KMGTPEZY"
|
||||
|
||||
#: src/pv/display.c:515 src/pv/display.c:893 src/pv/display.c:922
|
||||
#: src/pv/display.c:523 src/pv/display.c:998 src/pv/display.c:1027
|
||||
#: src/pv/loop.c:549
|
||||
msgid "b/s"
|
||||
msgstr "b/s"
|
||||
|
||||
#: src/pv/display.c:519 src/pv/display.c:897 src/pv/display.c:926
|
||||
#: src/pv/display.c:527 src/pv/display.c:1002 src/pv/display.c:1031
|
||||
msgid "/s"
|
||||
msgstr "/s"
|
||||
|
||||
#: src/pv/display.c:519 src/pv/display.c:897 src/pv/display.c:926
|
||||
#: src/pv/display.c:527 src/pv/display.c:1002 src/pv/display.c:1031
|
||||
#: src/pv/loop.c:549
|
||||
msgid "B/s"
|
||||
msgstr "B/s"
|
||||
|
||||
#: src/pv/display.c:770 src/pv/display.c:774
|
||||
#: src/pv/display.c:875 src/pv/display.c:879
|
||||
msgid "ETA"
|
||||
msgstr "ETA"
|
||||
|
||||
#: src/pv/display.c:856
|
||||
#: src/pv/display.c:961
|
||||
msgid "FIN"
|
||||
msgstr "FIN"
|
||||
|
||||
#: src/pv/display.c:952
|
||||
#: src/pv/display.c:1057
|
||||
msgid "b"
|
||||
msgstr "b"
|
||||
|
||||
#: src/pv/display.c:955 src/pv/transfer.c:594
|
||||
#: src/pv/display.c:1060 src/pv/transfer.c:594
|
||||
msgid "B"
|
||||
msgstr "B"
|
||||
|
||||
#: src/pv/display.c:1495 src/pv/transfer.c:1056
|
||||
#: src/pv/display.c:1602 src/pv/transfer.c:1056
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "nie udało się zaalokować bufora"
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: pv@ivarch.com\n"
|
||||
"POT-Creation-Date: 2024-12-08 17:39+0000\n"
|
||||
"POT-Creation-Date: 2024-12-08 20:11+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -409,37 +409,37 @@ msgstr ""
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:515 src/pv/display.c:893 src/pv/display.c:922
|
||||
#: src/pv/display.c:523 src/pv/display.c:998 src/pv/display.c:1027
|
||||
#: src/pv/loop.c:549
|
||||
msgid "b/s"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:519 src/pv/display.c:897 src/pv/display.c:926
|
||||
#: src/pv/display.c:527 src/pv/display.c:1002 src/pv/display.c:1031
|
||||
msgid "/s"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:519 src/pv/display.c:897 src/pv/display.c:926
|
||||
#: src/pv/display.c:527 src/pv/display.c:1002 src/pv/display.c:1031
|
||||
#: src/pv/loop.c:549
|
||||
msgid "B/s"
|
||||
msgstr "B/s"
|
||||
|
||||
#: src/pv/display.c:770 src/pv/display.c:774
|
||||
#: src/pv/display.c:875 src/pv/display.c:879
|
||||
msgid "ETA"
|
||||
msgstr "ETA"
|
||||
|
||||
#: src/pv/display.c:856
|
||||
#: src/pv/display.c:961
|
||||
msgid "FIN"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:952
|
||||
#: src/pv/display.c:1057
|
||||
msgid "b"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:955 src/pv/transfer.c:594
|
||||
#: src/pv/display.c:1060 src/pv/transfer.c:594
|
||||
msgid "B"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:1495 src/pv/transfer.c:1056
|
||||
#: src/pv/display.c:1602 src/pv/transfer.c:1056
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "erro alocando o buffer"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Report-Msgid-Bugs-To: pv@ivarch.com\n"
|
||||
"POT-Creation-Date: 2024-12-08 17:39+0000\n"
|
||||
"POT-Creation-Date: 2024-12-08 20:11+0000\n"
|
||||
"PO-Revision-Date: 2024-10-22 18:07+0000\n"
|
||||
"Last-Translator: 0ko <0ko@users.noreply.translate.codeberg.org>\n"
|
||||
"Language-Team: Russian <https://translate.codeberg.org/projects/pv/pv/ru/>\n"
|
||||
@@ -404,37 +404,37 @@ msgstr ""
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:515 src/pv/display.c:893 src/pv/display.c:922
|
||||
#: src/pv/display.c:523 src/pv/display.c:998 src/pv/display.c:1027
|
||||
#: src/pv/loop.c:549
|
||||
msgid "b/s"
|
||||
msgstr "бит/с"
|
||||
|
||||
#: src/pv/display.c:519 src/pv/display.c:897 src/pv/display.c:926
|
||||
#: src/pv/display.c:527 src/pv/display.c:1002 src/pv/display.c:1031
|
||||
msgid "/s"
|
||||
msgstr "/с"
|
||||
|
||||
#: src/pv/display.c:519 src/pv/display.c:897 src/pv/display.c:926
|
||||
#: src/pv/display.c:527 src/pv/display.c:1002 src/pv/display.c:1031
|
||||
#: src/pv/loop.c:549
|
||||
msgid "B/s"
|
||||
msgstr "байт/с"
|
||||
|
||||
#: src/pv/display.c:770 src/pv/display.c:774
|
||||
#: src/pv/display.c:875 src/pv/display.c:879
|
||||
msgid "ETA"
|
||||
msgstr "ОЖИД"
|
||||
|
||||
#: src/pv/display.c:856
|
||||
#: src/pv/display.c:961
|
||||
msgid "FIN"
|
||||
msgstr "ЗАВЕРШ"
|
||||
|
||||
#: src/pv/display.c:952
|
||||
#: src/pv/display.c:1057
|
||||
msgid "b"
|
||||
msgstr "бит"
|
||||
|
||||
#: src/pv/display.c:955 src/pv/transfer.c:594
|
||||
#: src/pv/display.c:1060 src/pv/transfer.c:594
|
||||
msgid "B"
|
||||
msgstr "байт"
|
||||
|
||||
#: src/pv/display.c:1495 src/pv/transfer.c:1056
|
||||
#: src/pv/display.c:1602 src/pv/transfer.c:1056
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "не удалось выделить память для буфера"
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: pv 1.8.14\n"
|
||||
"Report-Msgid-Bugs-To: pv@ivarch.com\n"
|
||||
"POT-Creation-Date: 2024-12-08 17:39+0000\n"
|
||||
"POT-Creation-Date: 2024-12-08 20:11+0000\n"
|
||||
"PO-Revision-Date: 2024-10-12 23:51+0000\n"
|
||||
"Last-Translator: a-j-wood <a-j-wood@users.noreply.translate.codeberg.org>\n"
|
||||
"Language-Team: Turkish <https://translate.codeberg.org/projects/pv/pv/tr/>\n"
|
||||
@@ -405,37 +405,37 @@ msgstr "yzafpnum kMGTPEZY"
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr "yzafpnum KMGTPEZY"
|
||||
|
||||
#: src/pv/display.c:515 src/pv/display.c:893 src/pv/display.c:922
|
||||
#: src/pv/display.c:523 src/pv/display.c:998 src/pv/display.c:1027
|
||||
#: src/pv/loop.c:549
|
||||
msgid "b/s"
|
||||
msgstr "b/s"
|
||||
|
||||
#: src/pv/display.c:519 src/pv/display.c:897 src/pv/display.c:926
|
||||
#: src/pv/display.c:527 src/pv/display.c:1002 src/pv/display.c:1031
|
||||
msgid "/s"
|
||||
msgstr "/s"
|
||||
|
||||
#: src/pv/display.c:519 src/pv/display.c:897 src/pv/display.c:926
|
||||
#: src/pv/display.c:527 src/pv/display.c:1002 src/pv/display.c:1031
|
||||
#: src/pv/loop.c:549
|
||||
msgid "B/s"
|
||||
msgstr "B/s"
|
||||
|
||||
#: src/pv/display.c:770 src/pv/display.c:774
|
||||
#: src/pv/display.c:875 src/pv/display.c:879
|
||||
msgid "ETA"
|
||||
msgstr "ETA"
|
||||
|
||||
#: src/pv/display.c:856
|
||||
#: src/pv/display.c:961
|
||||
msgid "FIN"
|
||||
msgstr "FIN"
|
||||
|
||||
#: src/pv/display.c:952
|
||||
#: src/pv/display.c:1057
|
||||
msgid "b"
|
||||
msgstr "b"
|
||||
|
||||
#: src/pv/display.c:955 src/pv/transfer.c:594
|
||||
#: src/pv/display.c:1060 src/pv/transfer.c:594
|
||||
msgid "B"
|
||||
msgstr "B"
|
||||
|
||||
#: src/pv/display.c:1495 src/pv/transfer.c:1056
|
||||
#: src/pv/display.c:1602 src/pv/transfer.c:1056
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "arabellek tahsisi başarısız oldu"
|
||||
|
||||
|
||||
+132
-25
@@ -449,8 +449,8 @@ static void pv__sizestr(char *buffer, size_t bufsize, char *format,
|
||||
|
||||
/*
|
||||
* Add a null-terminated string to the buffer if there is room for it,
|
||||
* updating the segment's offset and bytes values and returning the bytes,
|
||||
* or treating the byte count as zero if there's insufficient space.
|
||||
* updating the segment's offset and bytes values and returning the bytes
|
||||
* value, or treating the byte count as zero if there's insufficient space.
|
||||
*/
|
||||
static size_t pv__format_segmentcontent(char *content, pvdisplay_segment_t segment, char *buffer, size_t buffer_size,
|
||||
size_t offset)
|
||||
@@ -483,10 +483,18 @@ static size_t pv__format_segmentcontent(char *content, pvdisplay_segment_t segme
|
||||
* content is bounded to the given width. Returns the number of bytes
|
||||
* written to the buffer.
|
||||
*
|
||||
* If "bar_sides" is false, only the bar itself is rendered, not the opening
|
||||
* and closing characters.
|
||||
*
|
||||
* If "include_bar" is false, the bar is omitted entirely.
|
||||
*
|
||||
* If "include_amount" is false, the percentage or rate after the bar is
|
||||
* omitted.
|
||||
*
|
||||
* This is only called by pv__format_progress().
|
||||
*/
|
||||
static size_t pv__format_progress_knownsize(pvstate_t state, pvdisplay_t display, char *buffer, size_t buffer_size,
|
||||
size_t width)
|
||||
size_t width, bool bar_sides, bool include_bar, bool include_amount)
|
||||
{
|
||||
char after_bar[32]; /* flawfinder: ignore - only populated by pv_snprintf(). */
|
||||
size_t after_bar_bytes, after_bar_width;
|
||||
@@ -521,14 +529,34 @@ static size_t pv__format_progress_knownsize(pvstate_t state, pvdisplay_t display
|
||||
/*@+mustfreefresh@ *//* splint: see above about gettext(). */
|
||||
}
|
||||
|
||||
if (!include_amount)
|
||||
after_bar[0] = '\0';
|
||||
|
||||
after_bar_bytes = strlen(after_bar); /* flawfinder: ignore */
|
||||
/* flawfinder: always \0-terminated by pv_snprintf() and the earlier memset(). */
|
||||
after_bar_width = pv_strwidth(after_bar, after_bar_bytes);
|
||||
|
||||
if (width < (after_bar_width + 2))
|
||||
if (!include_bar) {
|
||||
if (buffer_size < after_bar_bytes)
|
||||
return 0;
|
||||
if (after_bar_bytes > 1) {
|
||||
/* NB we skip the leading space. */
|
||||
memmove(buffer, after_bar + 1, after_bar_bytes - 1);
|
||||
buffer[after_bar_bytes - 1] = '\0';
|
||||
return after_bar_bytes - 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
bar_area_width = width - after_bar_width - 2;
|
||||
if (bar_sides) {
|
||||
if (width < (after_bar_width + 2))
|
||||
return 0;
|
||||
bar_area_width = width - after_bar_width - 2;
|
||||
} else {
|
||||
if (width < after_bar_width)
|
||||
return 0;
|
||||
bar_area_width = width - after_bar_width;
|
||||
}
|
||||
|
||||
if (bar_area_width > buffer_size - 16)
|
||||
bar_area_width = buffer_size - 16;
|
||||
@@ -542,8 +570,10 @@ static size_t pv__format_progress_knownsize(pvstate_t state, pvdisplay_t display
|
||||
|
||||
buffer_offset = 0;
|
||||
|
||||
/* The opening of the bar area. */
|
||||
buffer[buffer_offset++] = '[';
|
||||
if (bar_sides) {
|
||||
/* The opening of the bar area. */
|
||||
buffer[buffer_offset++] = '[';
|
||||
}
|
||||
|
||||
/* The bar portion. */
|
||||
for (pad_count = 0; pad_count < filled_bar_width && buffer_offset < buffer_size - 1; pad_count++) {
|
||||
@@ -564,12 +594,14 @@ static size_t pv__format_progress_knownsize(pvstate_t state, pvdisplay_t display
|
||||
buffer[buffer_offset++] = ' ';
|
||||
}
|
||||
|
||||
/* The closure of the bar area. */
|
||||
if (buffer_offset < buffer_size - 1)
|
||||
buffer[buffer_offset++] = ']';
|
||||
if (bar_sides) {
|
||||
/* The closure of the bar area. */
|
||||
if (buffer_offset < buffer_size - 1)
|
||||
buffer[buffer_offset++] = ']';
|
||||
}
|
||||
|
||||
/* The percentage. */
|
||||
if (after_bar_bytes < (buffer_size - 1 - buffer_offset)) {
|
||||
if (after_bar_bytes > 0 && after_bar_bytes < (buffer_size - 1 - buffer_offset)) {
|
||||
memmove(buffer + buffer_offset, after_bar, after_bar_bytes);
|
||||
buffer_offset += after_bar_bytes;
|
||||
}
|
||||
@@ -585,27 +617,33 @@ static size_t pv__format_progress_knownsize(pvstate_t state, pvdisplay_t display
|
||||
* indicator. The total width of the content is bounded to the given width.
|
||||
* Returns the number of bytes written to the buffer.
|
||||
*
|
||||
* If "bar_sides" is false, only the bar itself is rendered, not the opening
|
||||
* and closing characters.
|
||||
*
|
||||
* This is only called by pv__format_progress().
|
||||
*/
|
||||
static size_t pv__format_progress_unknownsize(pvstate_t state, /*@unused@ */
|
||||
__attribute__((unused)) pvdisplay_t display, char *buffer,
|
||||
size_t buffer_size, size_t width)
|
||||
size_t buffer_size, size_t width, bool bar_sides)
|
||||
{
|
||||
size_t bar_area_width, buffer_offset, pad_count;
|
||||
size_t indicator_position;
|
||||
|
||||
buffer[0] = '\0';
|
||||
|
||||
if (width < 6)
|
||||
return 0;
|
||||
|
||||
bar_area_width = width - 5;
|
||||
if (bar_sides) {
|
||||
if (width < 6)
|
||||
return 0;
|
||||
bar_area_width = width - 5;
|
||||
} else {
|
||||
if (width < 5)
|
||||
return 0;
|
||||
bar_area_width = width - 3;
|
||||
}
|
||||
|
||||
if (bar_area_width > buffer_size - 16)
|
||||
bar_area_width = buffer_size - 16;
|
||||
|
||||
debug("bar_area_width: %d", bar_area_width);
|
||||
|
||||
/*
|
||||
* Note that pv_calculate_transfer_rate() sets the percentage when
|
||||
* the size is unknown to a value that goes 0 - 200 and resets, so
|
||||
@@ -620,8 +658,10 @@ static size_t pv__format_progress_unknownsize(pvstate_t state, /*@unused@ */
|
||||
|
||||
buffer_offset = 0;
|
||||
|
||||
/* The opening of the bar area. */
|
||||
buffer[buffer_offset++] = '[';
|
||||
if (bar_sides) {
|
||||
/* The opening of the bar area. */
|
||||
buffer[buffer_offset++] = '[';
|
||||
}
|
||||
|
||||
/* The spaces before the indicator. */
|
||||
for (pad_count = 0; pad_count < (bar_area_width * indicator_position) / 100; pad_count++) {
|
||||
@@ -642,9 +682,11 @@ static size_t pv__format_progress_unknownsize(pvstate_t state, /*@unused@ */
|
||||
buffer[buffer_offset++] = ' ';
|
||||
}
|
||||
|
||||
/* The closure of the bar area. */
|
||||
if (buffer_offset < buffer_size - 1)
|
||||
buffer[buffer_offset++] = ']';
|
||||
if (bar_sides) {
|
||||
/* The closure of the bar area. */
|
||||
if (buffer_offset < buffer_size - 1)
|
||||
buffer[buffer_offset++] = ']';
|
||||
}
|
||||
|
||||
buffer[buffer_offset] = '\0';
|
||||
|
||||
@@ -668,10 +710,73 @@ static size_t pv__format_progress(pvstate_t state, pvdisplay_t display, pvdispla
|
||||
|
||||
if (state->control.size > 0 || state->control.rate_gauge) {
|
||||
/* Known size or rate gauge - bar with percentage. */
|
||||
bytes = pv__format_progress_knownsize(state, display, content, sizeof(content), segment->width);
|
||||
bytes =
|
||||
pv__format_progress_knownsize(state, display, content, sizeof(content), segment->width, true, true,
|
||||
true);
|
||||
} else {
|
||||
/* Unknown size - back-and-forth moving indicator. */
|
||||
bytes = pv__format_progress_unknownsize(state, display, content, sizeof(content), segment->width);
|
||||
bytes = pv__format_progress_unknownsize(state, display, content, sizeof(content), segment->width, true);
|
||||
}
|
||||
|
||||
content[bytes] = '\0';
|
||||
|
||||
return pv__format_segmentcontent(content, segment, buffer, buffer_size, offset);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Progress bar, without sides and without a number afterwards.
|
||||
*/
|
||||
static size_t pv__format_progress_bar_only(pvstate_t state, pvdisplay_t display, pvdisplay_segment_t segment,
|
||||
char *buffer, size_t buffer_size, size_t offset)
|
||||
{
|
||||
char content[1024]; /* flawfinder: ignore - always bounded */
|
||||
size_t bytes;
|
||||
|
||||
content[0] = '\0';
|
||||
|
||||
if (0 == buffer_size)
|
||||
return 0;
|
||||
|
||||
if (state->control.size > 0 || state->control.rate_gauge) {
|
||||
/* Known size or rate gauge - bar with percentage. */
|
||||
bytes =
|
||||
pv__format_progress_knownsize(state, display, content, sizeof(content), segment->width, false, true,
|
||||
false);
|
||||
} else {
|
||||
/* Unknown size - back-and-forth moving indicator. */
|
||||
bytes =
|
||||
pv__format_progress_unknownsize(state, display, content, sizeof(content), segment->width, false);
|
||||
}
|
||||
|
||||
content[bytes] = '\0';
|
||||
|
||||
return pv__format_segmentcontent(content, segment, buffer, buffer_size, offset);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* The number after the progress bar.
|
||||
*/
|
||||
static size_t pv__format_progress_amount_only(pvstate_t state, pvdisplay_t display, pvdisplay_segment_t segment,
|
||||
char *buffer, size_t buffer_size, size_t offset)
|
||||
{
|
||||
char content[256]; /* flawfinder: ignore - always bounded */
|
||||
size_t bytes;
|
||||
|
||||
content[0] = '\0';
|
||||
|
||||
if (0 == buffer_size)
|
||||
return 0;
|
||||
|
||||
if (state->control.size > 0 || state->control.rate_gauge) {
|
||||
/* Known size or rate gauge - percentage or rate. */
|
||||
bytes =
|
||||
pv__format_progress_knownsize(state, display, content, sizeof(content), segment->width, false,
|
||||
false, true);
|
||||
} else {
|
||||
/* Unknown size - no number. */
|
||||
return 0;
|
||||
}
|
||||
|
||||
content[bytes] = '\0';
|
||||
@@ -1197,6 +1302,8 @@ static struct pvdisplay_component_s {
|
||||
} format_component[] = {
|
||||
{ "p", &pv__format_progress, true },
|
||||
{ "{progress}", &pv__format_progress, true },
|
||||
{ "{progress-bar-only}", &pv__format_progress_bar_only, true },
|
||||
{ "{progress-amount-only}", &pv__format_progress_amount_only, false },
|
||||
{ "t", &pv__format_timer, false },
|
||||
{ "{timer}", &pv__format_timer, false },
|
||||
{ "e", &pv__format_eta, false },
|
||||
|
||||
Reference in New Issue
Block a user