Refactor the display formatters into their own functions, remove the static arrays for component contents, and start tracking the displayed width of each segment separately from the length in bytes.
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
* *fix:* allow **--format** to include "%p" more than once
|
||||
* *fix:* add _configure_ script fallback for **--remote** check when cross-compiling (#120)
|
||||
* *fix:* allow **extra-display** to be changed by **--remote** (#123)
|
||||
* *cleanup:* refactored display formatters into separate functions
|
||||
|
||||
### 1.9.7 - 2 December 2024
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Report-Msgid-Bugs-To: pv@ivarch.com\n"
|
||||
"POT-Creation-Date: 2024-12-08 10:22+0000\n"
|
||||
"POT-Creation-Date: 2024-12-08 15:56+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,40 +403,40 @@ msgstr "yzafpnum kMGTPEZY"
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr "yzafpnum KMGTPEZY"
|
||||
|
||||
#: src/pv/display.c:698 src/pv/transfer.c:1064
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "selhala alokace vyrovnávací paměti"
|
||||
|
||||
#: src/pv/display.c:827
|
||||
msgid "b"
|
||||
msgstr "b"
|
||||
|
||||
#: src/pv/display.c:830 src/pv/transfer.c:602
|
||||
msgid "B"
|
||||
msgstr "B"
|
||||
|
||||
#: src/pv/display.c:874 src/pv/display.c:889 src/pv/display.c:1144
|
||||
#: src/pv/display.c:515 src/pv/display.c:894 src/pv/display.c:923
|
||||
#: src/pv/loop.c:549
|
||||
msgid "b/s"
|
||||
msgstr "b/s"
|
||||
|
||||
#: src/pv/display.c:878 src/pv/display.c:893 src/pv/display.c:1148
|
||||
#: src/pv/display.c:519 src/pv/display.c:898 src/pv/display.c:927
|
||||
msgid "/s"
|
||||
msgstr "/s"
|
||||
|
||||
#: src/pv/display.c:878 src/pv/display.c:893 src/pv/display.c:1148
|
||||
#: src/pv/display.c:519 src/pv/display.c:898 src/pv/display.c:927
|
||||
#: src/pv/loop.c:549
|
||||
msgid "B/s"
|
||||
msgstr "B/s"
|
||||
|
||||
#: src/pv/display.c:921 src/pv/display.c:925
|
||||
#: src/pv/display.c:771 src/pv/display.c:775
|
||||
msgid "ETA"
|
||||
msgstr "ETA"
|
||||
|
||||
#: src/pv/display.c:991
|
||||
#: src/pv/display.c:857
|
||||
msgid "FIN"
|
||||
msgstr "FIN"
|
||||
|
||||
#: src/pv/display.c:953
|
||||
msgid "b"
|
||||
msgstr "b"
|
||||
|
||||
#: src/pv/display.c:956 src/pv/transfer.c:602
|
||||
msgid "B"
|
||||
msgstr "B"
|
||||
|
||||
#: src/pv/display.c:1467 src/pv/transfer.c:1064
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "selhala alokace vyrovnávací paměti"
|
||||
|
||||
#: src/pv/file.c:149
|
||||
msgid "failed to seek to start of output"
|
||||
msgstr "selhalo posunutí za začátek výstupu"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Report-Msgid-Bugs-To: pv@ivarch.com\n"
|
||||
"POT-Creation-Date: 2024-12-08 10:22+0000\n"
|
||||
"POT-Creation-Date: 2024-12-08 15:56+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,40 +426,40 @@ msgstr "yzafpnµm kMGTPEZY"
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr "yzafpnµm KMGTPEZY"
|
||||
|
||||
#: src/pv/display.c:698 src/pv/transfer.c:1064
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "Speicherzuweisung für den Puffer fehlgeschlagen"
|
||||
|
||||
#: src/pv/display.c:827
|
||||
msgid "b"
|
||||
msgstr "b"
|
||||
|
||||
#: src/pv/display.c:830 src/pv/transfer.c:602
|
||||
msgid "B"
|
||||
msgstr "B"
|
||||
|
||||
#: src/pv/display.c:874 src/pv/display.c:889 src/pv/display.c:1144
|
||||
#: src/pv/display.c:515 src/pv/display.c:894 src/pv/display.c:923
|
||||
#: src/pv/loop.c:549
|
||||
msgid "b/s"
|
||||
msgstr "b/s"
|
||||
|
||||
#: src/pv/display.c:878 src/pv/display.c:893 src/pv/display.c:1148
|
||||
#: src/pv/display.c:519 src/pv/display.c:898 src/pv/display.c:927
|
||||
msgid "/s"
|
||||
msgstr "/s"
|
||||
|
||||
#: src/pv/display.c:878 src/pv/display.c:893 src/pv/display.c:1148
|
||||
#: src/pv/display.c:519 src/pv/display.c:898 src/pv/display.c:927
|
||||
#: src/pv/loop.c:549
|
||||
msgid "B/s"
|
||||
msgstr "B/s"
|
||||
|
||||
#: src/pv/display.c:921 src/pv/display.c:925
|
||||
#: src/pv/display.c:771 src/pv/display.c:775
|
||||
msgid "ETA"
|
||||
msgstr "ETA"
|
||||
|
||||
#: src/pv/display.c:991
|
||||
#: src/pv/display.c:857
|
||||
msgid "FIN"
|
||||
msgstr "Endzeit"
|
||||
|
||||
#: src/pv/display.c:953
|
||||
msgid "b"
|
||||
msgstr "b"
|
||||
|
||||
#: src/pv/display.c:956 src/pv/transfer.c:602
|
||||
msgid "B"
|
||||
msgstr "B"
|
||||
|
||||
#: src/pv/display.c:1467 src/pv/transfer.c:1064
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "Speicherzuweisung für den Puffer fehlgeschlagen"
|
||||
|
||||
#: src/pv/file.c:149
|
||||
msgid "failed to seek to start of output"
|
||||
msgstr "Konnte nicht zum Anfang der Ausgabe springen"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Report-Msgid-Bugs-To: pv@ivarch.com\n"
|
||||
"POT-Creation-Date: 2024-12-08 10:22+0000\n"
|
||||
"POT-Creation-Date: 2024-12-08 15:56+0000\n"
|
||||
"Language: es\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -395,40 +395,40 @@ msgstr ""
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:698 src/pv/transfer.c:1064
|
||||
msgid "buffer allocation failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:827
|
||||
msgid "b"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:830 src/pv/transfer.c:602
|
||||
msgid "B"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:874 src/pv/display.c:889 src/pv/display.c:1144
|
||||
#: src/pv/display.c:515 src/pv/display.c:894 src/pv/display.c:923
|
||||
#: src/pv/loop.c:549
|
||||
msgid "b/s"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:878 src/pv/display.c:893 src/pv/display.c:1148
|
||||
#: src/pv/display.c:519 src/pv/display.c:898 src/pv/display.c:927
|
||||
msgid "/s"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:878 src/pv/display.c:893 src/pv/display.c:1148
|
||||
#: src/pv/display.c:519 src/pv/display.c:898 src/pv/display.c:927
|
||||
#: src/pv/loop.c:549
|
||||
msgid "B/s"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:921 src/pv/display.c:925
|
||||
#: src/pv/display.c:771 src/pv/display.c:775
|
||||
msgid "ETA"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:991
|
||||
#: src/pv/display.c:857
|
||||
msgid "FIN"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:953
|
||||
msgid "b"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:956 src/pv/transfer.c:602
|
||||
msgid "B"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:1467 src/pv/transfer.c:1064
|
||||
msgid "buffer allocation failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/file.c:149
|
||||
msgid "failed to seek to start of output"
|
||||
msgstr ""
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Report-Msgid-Bugs-To: pv@ivarch.com\n"
|
||||
"POT-Creation-Date: 2024-12-08 10:22+0000\n"
|
||||
"POT-Creation-Date: 2024-12-08 15:56+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,40 +430,40 @@ msgstr ""
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:698 src/pv/transfer.c:1064
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "échec de l'allocation de mémoire tampon"
|
||||
|
||||
#: src/pv/display.c:827
|
||||
msgid "b"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:830 src/pv/transfer.c:602
|
||||
msgid "B"
|
||||
msgstr "O"
|
||||
|
||||
#: src/pv/display.c:874 src/pv/display.c:889 src/pv/display.c:1144
|
||||
#: src/pv/display.c:515 src/pv/display.c:894 src/pv/display.c:923
|
||||
#: src/pv/loop.c:549
|
||||
msgid "b/s"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:878 src/pv/display.c:893 src/pv/display.c:1148
|
||||
#: src/pv/display.c:519 src/pv/display.c:898 src/pv/display.c:927
|
||||
msgid "/s"
|
||||
msgstr "/s"
|
||||
|
||||
#: src/pv/display.c:878 src/pv/display.c:893 src/pv/display.c:1148
|
||||
#: src/pv/display.c:519 src/pv/display.c:898 src/pv/display.c:927
|
||||
#: src/pv/loop.c:549
|
||||
msgid "B/s"
|
||||
msgstr "O/s"
|
||||
|
||||
#: src/pv/display.c:921 src/pv/display.c:925
|
||||
#: src/pv/display.c:771 src/pv/display.c:775
|
||||
msgid "ETA"
|
||||
msgstr "ETA"
|
||||
|
||||
#: src/pv/display.c:991
|
||||
#: src/pv/display.c:857
|
||||
msgid "FIN"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:953
|
||||
msgid "b"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:956 src/pv/transfer.c:602
|
||||
msgid "B"
|
||||
msgstr "O"
|
||||
|
||||
#: src/pv/display.c:1467 src/pv/transfer.c:1064
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "échec de l'allocation de mémoire tampon"
|
||||
|
||||
#: src/pv/file.c:149
|
||||
msgid "failed to seek to start of output"
|
||||
msgstr "ne peut pas passer au début de la sortie"
|
||||
|
||||
@@ -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 10:22+0000\n"
|
||||
"POT-Creation-Date: 2024-12-08 15:56+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,40 +421,40 @@ msgstr "yzafpnum kMGTPEZY"
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr "yzafpnum KMGTPEZY"
|
||||
|
||||
#: src/pv/display.c:698 src/pv/transfer.c:1064
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "nie udało się zaalokować bufora"
|
||||
|
||||
#: src/pv/display.c:827
|
||||
msgid "b"
|
||||
msgstr "b"
|
||||
|
||||
#: src/pv/display.c:830 src/pv/transfer.c:602
|
||||
msgid "B"
|
||||
msgstr "B"
|
||||
|
||||
#: src/pv/display.c:874 src/pv/display.c:889 src/pv/display.c:1144
|
||||
#: src/pv/display.c:515 src/pv/display.c:894 src/pv/display.c:923
|
||||
#: src/pv/loop.c:549
|
||||
msgid "b/s"
|
||||
msgstr "b/s"
|
||||
|
||||
#: src/pv/display.c:878 src/pv/display.c:893 src/pv/display.c:1148
|
||||
#: src/pv/display.c:519 src/pv/display.c:898 src/pv/display.c:927
|
||||
msgid "/s"
|
||||
msgstr "/s"
|
||||
|
||||
#: src/pv/display.c:878 src/pv/display.c:893 src/pv/display.c:1148
|
||||
#: src/pv/display.c:519 src/pv/display.c:898 src/pv/display.c:927
|
||||
#: src/pv/loop.c:549
|
||||
msgid "B/s"
|
||||
msgstr "B/s"
|
||||
|
||||
#: src/pv/display.c:921 src/pv/display.c:925
|
||||
#: src/pv/display.c:771 src/pv/display.c:775
|
||||
msgid "ETA"
|
||||
msgstr "ETA"
|
||||
|
||||
#: src/pv/display.c:991
|
||||
#: src/pv/display.c:857
|
||||
msgid "FIN"
|
||||
msgstr "FIN"
|
||||
|
||||
#: src/pv/display.c:953
|
||||
msgid "b"
|
||||
msgstr "b"
|
||||
|
||||
#: src/pv/display.c:956 src/pv/transfer.c:602
|
||||
msgid "B"
|
||||
msgstr "B"
|
||||
|
||||
#: src/pv/display.c:1467 src/pv/transfer.c:1064
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "nie udało się zaalokować bufora"
|
||||
|
||||
#: src/pv/file.c:149
|
||||
msgid "failed to seek to start of output"
|
||||
msgstr "nie udało się przewinąć wyjścia do początku"
|
||||
|
||||
@@ -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 10:22+0000\n"
|
||||
"POT-Creation-Date: 2024-12-08 15:56+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,40 +409,40 @@ msgstr ""
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:698 src/pv/transfer.c:1064
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "erro alocando o buffer"
|
||||
|
||||
#: src/pv/display.c:827
|
||||
msgid "b"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:830 src/pv/transfer.c:602
|
||||
msgid "B"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:874 src/pv/display.c:889 src/pv/display.c:1144
|
||||
#: src/pv/display.c:515 src/pv/display.c:894 src/pv/display.c:923
|
||||
#: src/pv/loop.c:549
|
||||
msgid "b/s"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:878 src/pv/display.c:893 src/pv/display.c:1148
|
||||
#: src/pv/display.c:519 src/pv/display.c:898 src/pv/display.c:927
|
||||
msgid "/s"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:878 src/pv/display.c:893 src/pv/display.c:1148
|
||||
#: src/pv/display.c:519 src/pv/display.c:898 src/pv/display.c:927
|
||||
#: src/pv/loop.c:549
|
||||
msgid "B/s"
|
||||
msgstr "B/s"
|
||||
|
||||
#: src/pv/display.c:921 src/pv/display.c:925
|
||||
#: src/pv/display.c:771 src/pv/display.c:775
|
||||
msgid "ETA"
|
||||
msgstr "ETA"
|
||||
|
||||
#: src/pv/display.c:991
|
||||
#: src/pv/display.c:857
|
||||
msgid "FIN"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:953
|
||||
msgid "b"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:956 src/pv/transfer.c:602
|
||||
msgid "B"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:1467 src/pv/transfer.c:1064
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "erro alocando o buffer"
|
||||
|
||||
#: src/pv/file.c:149
|
||||
msgid "failed to seek to start of output"
|
||||
msgstr "não pode mover para o início da produção"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Report-Msgid-Bugs-To: pv@ivarch.com\n"
|
||||
"POT-Creation-Date: 2024-12-08 10:22+0000\n"
|
||||
"POT-Creation-Date: 2024-12-08 15:56+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,40 +404,40 @@ msgstr ""
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr ""
|
||||
|
||||
#: src/pv/display.c:698 src/pv/transfer.c:1064
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "не удалось выделить память для буфера"
|
||||
|
||||
#: src/pv/display.c:827
|
||||
msgid "b"
|
||||
msgstr "бит"
|
||||
|
||||
#: src/pv/display.c:830 src/pv/transfer.c:602
|
||||
msgid "B"
|
||||
msgstr "байт"
|
||||
|
||||
#: src/pv/display.c:874 src/pv/display.c:889 src/pv/display.c:1144
|
||||
#: src/pv/display.c:515 src/pv/display.c:894 src/pv/display.c:923
|
||||
#: src/pv/loop.c:549
|
||||
msgid "b/s"
|
||||
msgstr "бит/с"
|
||||
|
||||
#: src/pv/display.c:878 src/pv/display.c:893 src/pv/display.c:1148
|
||||
#: src/pv/display.c:519 src/pv/display.c:898 src/pv/display.c:927
|
||||
msgid "/s"
|
||||
msgstr "/с"
|
||||
|
||||
#: src/pv/display.c:878 src/pv/display.c:893 src/pv/display.c:1148
|
||||
#: src/pv/display.c:519 src/pv/display.c:898 src/pv/display.c:927
|
||||
#: src/pv/loop.c:549
|
||||
msgid "B/s"
|
||||
msgstr "байт/с"
|
||||
|
||||
#: src/pv/display.c:921 src/pv/display.c:925
|
||||
#: src/pv/display.c:771 src/pv/display.c:775
|
||||
msgid "ETA"
|
||||
msgstr "ОЖИД"
|
||||
|
||||
#: src/pv/display.c:991
|
||||
#: src/pv/display.c:857
|
||||
msgid "FIN"
|
||||
msgstr "ЗАВЕРШ"
|
||||
|
||||
#: src/pv/display.c:953
|
||||
msgid "b"
|
||||
msgstr "бит"
|
||||
|
||||
#: src/pv/display.c:956 src/pv/transfer.c:602
|
||||
msgid "B"
|
||||
msgstr "байт"
|
||||
|
||||
#: src/pv/display.c:1467 src/pv/transfer.c:1064
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "не удалось выделить память для буфера"
|
||||
|
||||
#: src/pv/file.c:149
|
||||
msgid "failed to seek to start of output"
|
||||
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 10:22+0000\n"
|
||||
"POT-Creation-Date: 2024-12-08 15:56+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,40 +405,40 @@ msgstr "yzafpnum kMGTPEZY"
|
||||
msgid "yzafpnum KMGTPEZY"
|
||||
msgstr "yzafpnum KMGTPEZY"
|
||||
|
||||
#: src/pv/display.c:698 src/pv/transfer.c:1064
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "arabellek tahsisi başarısız oldu"
|
||||
|
||||
#: src/pv/display.c:827
|
||||
msgid "b"
|
||||
msgstr "b"
|
||||
|
||||
#: src/pv/display.c:830 src/pv/transfer.c:602
|
||||
msgid "B"
|
||||
msgstr "B"
|
||||
|
||||
#: src/pv/display.c:874 src/pv/display.c:889 src/pv/display.c:1144
|
||||
#: src/pv/display.c:515 src/pv/display.c:894 src/pv/display.c:923
|
||||
#: src/pv/loop.c:549
|
||||
msgid "b/s"
|
||||
msgstr "b/s"
|
||||
|
||||
#: src/pv/display.c:878 src/pv/display.c:893 src/pv/display.c:1148
|
||||
#: src/pv/display.c:519 src/pv/display.c:898 src/pv/display.c:927
|
||||
msgid "/s"
|
||||
msgstr "/s"
|
||||
|
||||
#: src/pv/display.c:878 src/pv/display.c:893 src/pv/display.c:1148
|
||||
#: src/pv/display.c:519 src/pv/display.c:898 src/pv/display.c:927
|
||||
#: src/pv/loop.c:549
|
||||
msgid "B/s"
|
||||
msgstr "B/s"
|
||||
|
||||
#: src/pv/display.c:921 src/pv/display.c:925
|
||||
#: src/pv/display.c:771 src/pv/display.c:775
|
||||
msgid "ETA"
|
||||
msgstr "ETA"
|
||||
|
||||
#: src/pv/display.c:991
|
||||
#: src/pv/display.c:857
|
||||
msgid "FIN"
|
||||
msgstr "FIN"
|
||||
|
||||
#: src/pv/display.c:953
|
||||
msgid "b"
|
||||
msgstr "b"
|
||||
|
||||
#: src/pv/display.c:956 src/pv/transfer.c:602
|
||||
msgid "B"
|
||||
msgstr "B"
|
||||
|
||||
#: src/pv/display.c:1467 src/pv/transfer.c:1064
|
||||
msgid "buffer allocation failed"
|
||||
msgstr "arabellek tahsisi başarısız oldu"
|
||||
|
||||
#: src/pv/file.c:149
|
||||
msgid "failed to seek to start of output"
|
||||
msgstr "çıktının başlangıcına ulaşılamadı"
|
||||
|
||||
+32
-38
@@ -20,27 +20,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Types of display component that make up an output string.
|
||||
*/
|
||||
typedef enum {
|
||||
PV_COMPONENT_STRING, /* fixed string */
|
||||
PV_COMPONENT_PROGRESS, /* progress bar, with percentage if known */
|
||||
PV_COMPONENT_BYTES, /* number of bytes transferred */
|
||||
PV_COMPONENT_TIMER, /* elapsed time */
|
||||
PV_COMPONENT_RATE, /* current transfer rate */
|
||||
PV_COMPONENT_AVERAGERATE, /* average transfer rate */
|
||||
PV_COMPONENT_ETA, /* estimated time remaining until completion */
|
||||
PV_COMPONENT_FINETA, /* estimated time of completion */
|
||||
PV_COMPONENT_NAME, /* name prefix */
|
||||
PV_COMPONENT_BUFPERCENT, /* percentage of buffer used */
|
||||
PV_COMPONENT_OUTPUTBUF, /* recent bytes in output buffer */
|
||||
PV_COMPONENT_PREVLINE, /* most recent complete line */
|
||||
PV_COMPONENT__MAX
|
||||
} pv_display_component;
|
||||
|
||||
#define PV_SIZEOF_COMPONENT_STR 1024 /* size of buffer for each component */
|
||||
|
||||
#define RATE_GRANULARITY 100000000 /* nsec between -L rate chunks */
|
||||
#define RATE_BURST_WINDOW 5 /* rate burst window (multiples of rate) */
|
||||
#define REMOTE_INTERVAL 100000000 /* nsec between checks for -R */
|
||||
@@ -56,7 +35,7 @@ typedef enum {
|
||||
|
||||
#define PV_SIZEOF_DEFAULT_FORMAT 512
|
||||
#define PV_SIZEOF_CWD 4096
|
||||
#define PV_SIZEOF_LASTOUTPUT_BUFFER 256
|
||||
#define PV_SIZEOF_LASTWRITTEN_BUFFER 256
|
||||
#define PV_SIZEOF_PREVLINE_BUFFER 1024
|
||||
#define PV_FORMAT_ARRAY_MAX 100
|
||||
#define PV_SIZEOF_CRS_LOCK_FILE 1024
|
||||
@@ -78,6 +57,15 @@ struct pvcursorstate_s {
|
||||
bool tty_tostop_added; /* whether any instance had to set TOSTOP on the terminal */
|
||||
};
|
||||
|
||||
/*
|
||||
* Types of transfer count - bytes, decimal bytes or lines.
|
||||
*/
|
||||
typedef enum {
|
||||
PV_TRANSFERCOUNT_BYTES,
|
||||
PV_TRANSFERCOUNT_DECBYTES,
|
||||
PV_TRANSFERCOUNT_LINES
|
||||
} pvtransfercount_t;
|
||||
|
||||
|
||||
/*
|
||||
* Structure for holding PV internal state. Opaque outside the PV library.
|
||||
@@ -191,21 +179,17 @@ struct pvstate_s {
|
||||
*****************/
|
||||
struct pvdisplay_s {
|
||||
|
||||
struct { /* format string broken into display components */
|
||||
size_t str_start; /* for strings: start offset */
|
||||
size_t str_bytes; /* for strings: length in bytes */
|
||||
struct pvdisplay_segment_s { /* format string broken into segments */
|
||||
/* See pv__format_init() for more details. */
|
||||
int type; /* component type, -1 for static string */
|
||||
size_t chosen_size; /* "n" from %<n>A, or 0 */
|
||||
pv_display_component type; /* type of display component */
|
||||
size_t offset; /* start offset of this segment */
|
||||
size_t bytes; /* length of segment in bytes */
|
||||
size_t width; /* displayed width of segment */
|
||||
} format[PV_FORMAT_ARRAY_MAX];
|
||||
|
||||
struct { /* display components */
|
||||
char content[PV_SIZEOF_COMPONENT_STR]; /* string to display */
|
||||
size_t bytes; /* number of bytes in string */
|
||||
bool required; /* true if included in format */
|
||||
} component[PV_COMPONENT__MAX];
|
||||
|
||||
/* The last-output "n" bytes. */
|
||||
char lastoutput_buffer[PV_SIZEOF_LASTOUTPUT_BUFFER];
|
||||
/* The last-written "n" bytes. */
|
||||
char lastwritten_buffer[PV_SIZEOF_LASTWRITTEN_BUFFER];
|
||||
|
||||
/* The most recently output complete line. */
|
||||
char previous_line[PV_SIZEOF_PREVLINE_BUFFER];
|
||||
@@ -214,16 +198,25 @@ struct pvstate_s {
|
||||
|
||||
/*@only@*/ /*@null@*/ char *display_buffer; /* buffer for display string */
|
||||
size_t display_buffer_size; /* size allocated to display buffer */
|
||||
size_t display_string_len; /* length of string in display buffer */
|
||||
size_t display_string_bytes; /* byte length of string in display buffer */
|
||||
size_t display_string_width; /* displayed width of string in display buffer */
|
||||
off_t initial_offset; /* offset when first opened (when watching fds) */
|
||||
size_t lastoutput_bytes; /* largest number of last-output bytes to show */
|
||||
size_t lastwritten_bytes; /* largest number of last-written bytes to show */
|
||||
size_t next_line_len; /* length of currently receiving line so far */
|
||||
|
||||
size_t format_segment_count; /* number of format string segments */
|
||||
|
||||
pvtransfercount_t count_type; /* type of count for transfer, rate, etc */
|
||||
|
||||
unsigned int prev_screen_width; /* screen width last time we were called */
|
||||
bool tracking_last_output; /* set if displaying the last few bytes output */
|
||||
bool tracking_previous_line; /* set if displaying the previously output line */
|
||||
|
||||
bool showing_timer; /* set if showing timer */
|
||||
bool showing_bytes; /* set if showing byte/line count */
|
||||
bool showing_rate; /* set if showing transfer rate */
|
||||
bool showing_last_written; /* set if displaying the last few bytes written */
|
||||
bool showing_previous_line; /* set if displaying the previously output line */
|
||||
|
||||
bool final_update; /* set internally on the final update */
|
||||
bool display_visible; /* set once anything written to terminal */
|
||||
|
||||
} display;
|
||||
@@ -379,6 +372,7 @@ struct pvwatchfd_s {
|
||||
typedef struct pvwatchfd_s *pvwatchfd_t;
|
||||
|
||||
typedef struct pvdisplay_s *pvdisplay_t;
|
||||
typedef struct pvdisplay_segment_s *pvdisplay_segment_t;
|
||||
|
||||
void pv_error(pvstate_t, char *, ...);
|
||||
|
||||
|
||||
+1019
-726
File diff suppressed because it is too large
Load Diff
+15
-15
@@ -722,7 +722,7 @@ static int pv__transfer_write(pvstate_t state, bool *eof_in, bool *eof_out, long
|
||||
|
||||
if ((state->control.linemode) && (lineswritten != NULL))
|
||||
tracking_lines = true;
|
||||
else if (state->display.tracking_previous_line)
|
||||
else if (state->display.showing_previous_line)
|
||||
tracking_lines = true;
|
||||
|
||||
/*
|
||||
@@ -772,7 +772,7 @@ static int pv__transfer_write(pvstate_t state, bool *eof_in, bool *eof_out, long
|
||||
* line ("%L"), add to our line
|
||||
* buffer.
|
||||
*/
|
||||
if (state->display.tracking_previous_line
|
||||
if (state->display.showing_previous_line
|
||||
&& state->display.next_line_len < PV_SIZEOF_PREVLINE_BUFFER - 1) {
|
||||
state->display.next_line[state->display.next_line_len] = *ptr;
|
||||
state->display.next_line_len++;
|
||||
@@ -789,7 +789,7 @@ static int pv__transfer_write(pvstate_t state, bool *eof_in, bool *eof_out, long
|
||||
* with the line we just completed, and
|
||||
* start a new one.
|
||||
*/
|
||||
if (state->display.tracking_previous_line) {
|
||||
if (state->display.showing_previous_line) {
|
||||
memset(state->display.previous_line, 0, PV_SIZEOF_PREVLINE_BUFFER);
|
||||
if (state->display.next_line_len > PV_SIZEOF_PREVLINE_BUFFER - 1)
|
||||
state->display.next_line_len = PV_SIZEOF_PREVLINE_BUFFER - 1;
|
||||
@@ -840,39 +840,39 @@ static int pv__transfer_write(pvstate_t state, bool *eof_in, bool *eof_out, long
|
||||
* If we're monitoring the output, update our copy of the
|
||||
* last few bytes we've written.
|
||||
*/
|
||||
if (state->display.tracking_last_output && (nwritten > 0)) {
|
||||
if (state->display.showing_last_written && (nwritten > 0)) {
|
||||
size_t new_portion_size, old_portion_size;
|
||||
|
||||
new_portion_size = (size_t) nwritten;
|
||||
if (new_portion_size > state->display.lastoutput_bytes)
|
||||
new_portion_size = state->display.lastoutput_bytes;
|
||||
if (new_portion_size > state->display.lastwritten_bytes)
|
||||
new_portion_size = state->display.lastwritten_bytes;
|
||||
|
||||
old_portion_size = state->display.lastoutput_bytes - new_portion_size;
|
||||
old_portion_size = state->display.lastwritten_bytes - new_portion_size;
|
||||
|
||||
/*
|
||||
* Make room for the new portion.
|
||||
*/
|
||||
if (old_portion_size > 0) {
|
||||
memmove(state->display.lastoutput_buffer,
|
||||
state->display.lastoutput_buffer + new_portion_size, old_portion_size);
|
||||
memmove(state->display.lastwritten_buffer,
|
||||
state->display.lastwritten_buffer + new_portion_size, old_portion_size);
|
||||
}
|
||||
|
||||
/*
|
||||
* Copy the new data in.
|
||||
*/
|
||||
memcpy(state->display.lastoutput_buffer + /* flawfinder: ignore */
|
||||
memcpy(state->display.lastwritten_buffer + /* flawfinder: ignore */
|
||||
old_portion_size,
|
||||
state->transfer.transfer_buffer + state->transfer.write_position - new_portion_size,
|
||||
new_portion_size);
|
||||
/*
|
||||
* flawfinder rationale: calculations above ensure
|
||||
* that old_portion_size + new_portion_size is
|
||||
* always <= lastoutput_bytes, and
|
||||
* lastoutput_bytes is guaranteed by
|
||||
* always <= lastwritten_bytes, and
|
||||
* lastwritten_bytes is guaranteed by
|
||||
* pv__format_init() to be no more than
|
||||
* PV_SIZEOF_LASTOUTPUT_BUFFER, which is the size of
|
||||
* lastoutput_buffer, so the memcpy() will always
|
||||
* fit into the buffer.
|
||||
* PV_SIZEOF_LASTWRITTEN_BUFFER, which is the size
|
||||
* of lastwritten_buffer, so the memcpy() will
|
||||
* always fit into the buffer.
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user