diff --git a/po/cs.po b/po/cs.po index d8f2c8f..1c2d9ab 100644 --- a/po/cs.po +++ b/po/cs.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: https://codeberg.org/ivarch/pv/issues\n" -"POT-Creation-Date: 2026-04-29 19:50+0100\n" +"POT-Creation-Date: 2026-04-29 21:37+0100\n" "PO-Revision-Date: 2024-10-13 20:43+0000\n" "Last-Translator: mmatous \n" "Language-Team: Czech \n" @@ -467,7 +467,7 @@ msgstr "yzafpnum kMGTPEZY" msgid "yzafpnum KMGTPEZY" msgstr "yzafpnum KMGTPEZY" -#: src/pv/display.c:1082 src/pv/state.c:900 src/pv/transfer.c:1154 +#: src/pv/display.c:1082 src/pv/state.c:904 src/pv/transfer.c:1154 msgid "buffer allocation failed" msgstr "selhala alokace vyrovnávací paměti" @@ -540,17 +540,18 @@ msgstr "rychlost neměřena" #: src/pv/loop.c:958 src/pv/loop.c:974 src/pv/loop.c:992 src/pv/remote.c:91 #: src/pv/remote.c:184 src/pv/remote.c:531 src/pv/remote.c:577 -#: src/pv/watchpid.c:121 src/pv/watchpid.c:130 src/pv/watchpid.c:141 -#: src/pv/watchpid.c:148 src/pv/watchpid.c:184 src/pv/watchpid.c:196 -#: src/pv/watchpid.c:208 src/pv/watchpid.c:223 src/pv/watchpid.c:232 -#: src/pv/watchpid.c:241 src/pv/watchpid.c:356 src/pv/watchpid.c:364 -#: src/pv/watchpid.c:507 src/pv/watchpid.c:516 src/pv/watchpid.c:537 +#: src/pv/watchpid.c:123 src/pv/watchpid.c:132 src/pv/watchpid.c:142 +#: src/pv/watchpid.c:151 src/pv/watchpid.c:158 src/pv/watchpid.c:194 +#: src/pv/watchpid.c:206 src/pv/watchpid.c:218 src/pv/watchpid.c:268 +#: src/pv/watchpid.c:277 src/pv/watchpid.c:286 src/pv/watchpid.c:401 +#: src/pv/watchpid.c:409 src/pv/watchpid.c:556 src/pv/watchpid.c:565 +#: src/pv/watchpid.c:586 msgid "pid" msgstr "pid" -#: src/pv/loop.c:992 src/pv/watchpid.c:130 src/pv/watchpid.c:141 -#: src/pv/watchpid.c:150 src/pv/watchpid.c:223 src/pv/watchpid.c:232 -#: src/pv/watchpid.c:243 +#: src/pv/loop.c:992 src/pv/watchpid.c:132 src/pv/watchpid.c:142 +#: src/pv/watchpid.c:151 src/pv/watchpid.c:160 src/pv/watchpid.c:268 +#: src/pv/watchpid.c:277 src/pv/watchpid.c:288 msgid "fd" msgstr "ds" @@ -566,7 +567,7 @@ msgstr "SA_SIGINFO není na tomto systému podporováno" msgid "history structure allocation failed" msgstr "selhala alokace struktury historie" -#: src/pv/state.c:852 src/pv/state.c:864 +#: src/pv/state.c:856 src/pv/state.c:868 msgid "file list allocation failed" msgstr "selhala alokace seznamu souborů" @@ -614,7 +615,7 @@ msgstr "zápis selhal" msgid "select call failed" msgstr "selhalo volání select" -#: src/pv/watchpid.c:150 src/pv/watchpid.c:243 +#: src/pv/watchpid.c:160 src/pv/watchpid.c:288 msgid "not a regular file or block device" msgstr "není obyčejný soubor nebo blokové zařízení" diff --git a/po/de.po b/po/de.po index abb5e77..4a39921 100644 --- a/po/de.po +++ b/po/de.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: https://codeberg.org/ivarch/pv/issues\n" -"POT-Creation-Date: 2026-04-29 19:50+0100\n" +"POT-Creation-Date: 2026-04-29 21:37+0100\n" "PO-Revision-Date: 2025-01-14 20:39+0000\n" "Last-Translator: Benny \n" "Language-Team: German \n" @@ -490,7 +490,7 @@ msgstr "yzafpnµm kMGTPEZY" msgid "yzafpnum KMGTPEZY" msgstr "yzafpnµm KMGTPEZY" -#: src/pv/display.c:1082 src/pv/state.c:900 src/pv/transfer.c:1154 +#: src/pv/display.c:1082 src/pv/state.c:904 src/pv/transfer.c:1154 msgid "buffer allocation failed" msgstr "Speicherzuweisung für den Puffer fehlgeschlagen" @@ -563,17 +563,18 @@ msgstr "Übertragungsrate nicht gemessen" #: src/pv/loop.c:958 src/pv/loop.c:974 src/pv/loop.c:992 src/pv/remote.c:91 #: src/pv/remote.c:184 src/pv/remote.c:531 src/pv/remote.c:577 -#: src/pv/watchpid.c:121 src/pv/watchpid.c:130 src/pv/watchpid.c:141 -#: src/pv/watchpid.c:148 src/pv/watchpid.c:184 src/pv/watchpid.c:196 -#: src/pv/watchpid.c:208 src/pv/watchpid.c:223 src/pv/watchpid.c:232 -#: src/pv/watchpid.c:241 src/pv/watchpid.c:356 src/pv/watchpid.c:364 -#: src/pv/watchpid.c:507 src/pv/watchpid.c:516 src/pv/watchpid.c:537 +#: src/pv/watchpid.c:123 src/pv/watchpid.c:132 src/pv/watchpid.c:142 +#: src/pv/watchpid.c:151 src/pv/watchpid.c:158 src/pv/watchpid.c:194 +#: src/pv/watchpid.c:206 src/pv/watchpid.c:218 src/pv/watchpid.c:268 +#: src/pv/watchpid.c:277 src/pv/watchpid.c:286 src/pv/watchpid.c:401 +#: src/pv/watchpid.c:409 src/pv/watchpid.c:556 src/pv/watchpid.c:565 +#: src/pv/watchpid.c:586 msgid "pid" msgstr "pid" -#: src/pv/loop.c:992 src/pv/watchpid.c:130 src/pv/watchpid.c:141 -#: src/pv/watchpid.c:150 src/pv/watchpid.c:223 src/pv/watchpid.c:232 -#: src/pv/watchpid.c:243 +#: src/pv/loop.c:992 src/pv/watchpid.c:132 src/pv/watchpid.c:142 +#: src/pv/watchpid.c:151 src/pv/watchpid.c:160 src/pv/watchpid.c:268 +#: src/pv/watchpid.c:277 src/pv/watchpid.c:288 msgid "fd" msgstr "fd" @@ -589,7 +590,7 @@ msgstr "SA_SIGINFO wird auf diesem System nicht unterstützt" msgid "history structure allocation failed" msgstr "Speicherzuweisung für `history' fehlgeschlagen" -#: src/pv/state.c:852 src/pv/state.c:864 +#: src/pv/state.c:856 src/pv/state.c:868 msgid "file list allocation failed" msgstr "Speicherzuweisung für die Dateiliste fehlgeschlagen" @@ -637,7 +638,7 @@ msgstr "write-Aufruf fehlgeschlagen" msgid "select call failed" msgstr "select-Aufruf fehlgeschlagen" -#: src/pv/watchpid.c:150 src/pv/watchpid.c:243 +#: src/pv/watchpid.c:160 src/pv/watchpid.c:288 msgid "not a regular file or block device" msgstr "ist weder eine normale Datei noch ein Blockgerät" diff --git a/po/fi.po b/po/fi.po index 529e6c2..b8a1a8f 100644 --- a/po/fi.po +++ b/po/fi.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: pv 1.9.34\n" "Report-Msgid-Bugs-To: https://codeberg.org/ivarch/pv/issues\n" -"POT-Creation-Date: 2026-04-29 19:50+0100\n" +"POT-Creation-Date: 2026-04-29 21:37+0100\n" "PO-Revision-Date: 2026-03-24 23:25+0000\n" "Last-Translator: Ricky-Tigg \n" "Language-Team: Finnish \n" @@ -472,7 +472,7 @@ msgstr "" msgid "yzafpnum KMGTPEZY" msgstr "" -#: src/pv/display.c:1082 src/pv/state.c:900 src/pv/transfer.c:1154 +#: src/pv/display.c:1082 src/pv/state.c:904 src/pv/transfer.c:1154 msgid "buffer allocation failed" msgstr "puskurin allokointi epäonnistui" @@ -545,17 +545,18 @@ msgstr "nopeutta ei mitattu" #: src/pv/loop.c:958 src/pv/loop.c:974 src/pv/loop.c:992 src/pv/remote.c:91 #: src/pv/remote.c:184 src/pv/remote.c:531 src/pv/remote.c:577 -#: src/pv/watchpid.c:121 src/pv/watchpid.c:130 src/pv/watchpid.c:141 -#: src/pv/watchpid.c:148 src/pv/watchpid.c:184 src/pv/watchpid.c:196 -#: src/pv/watchpid.c:208 src/pv/watchpid.c:223 src/pv/watchpid.c:232 -#: src/pv/watchpid.c:241 src/pv/watchpid.c:356 src/pv/watchpid.c:364 -#: src/pv/watchpid.c:507 src/pv/watchpid.c:516 src/pv/watchpid.c:537 +#: src/pv/watchpid.c:123 src/pv/watchpid.c:132 src/pv/watchpid.c:142 +#: src/pv/watchpid.c:151 src/pv/watchpid.c:158 src/pv/watchpid.c:194 +#: src/pv/watchpid.c:206 src/pv/watchpid.c:218 src/pv/watchpid.c:268 +#: src/pv/watchpid.c:277 src/pv/watchpid.c:286 src/pv/watchpid.c:401 +#: src/pv/watchpid.c:409 src/pv/watchpid.c:556 src/pv/watchpid.c:565 +#: src/pv/watchpid.c:586 msgid "pid" msgstr "" -#: src/pv/loop.c:992 src/pv/watchpid.c:130 src/pv/watchpid.c:141 -#: src/pv/watchpid.c:150 src/pv/watchpid.c:223 src/pv/watchpid.c:232 -#: src/pv/watchpid.c:243 +#: src/pv/loop.c:992 src/pv/watchpid.c:132 src/pv/watchpid.c:142 +#: src/pv/watchpid.c:151 src/pv/watchpid.c:160 src/pv/watchpid.c:268 +#: src/pv/watchpid.c:277 src/pv/watchpid.c:288 msgid "fd" msgstr "" @@ -571,7 +572,7 @@ msgstr "SA_SIGINFO ei ole tuettu tässä järjestelmässä" msgid "history structure allocation failed" msgstr "historiarakenteen allokointi epäonnistui" -#: src/pv/state.c:852 src/pv/state.c:864 +#: src/pv/state.c:856 src/pv/state.c:868 msgid "file list allocation failed" msgstr "tiedostolistan allokointi epäonnistui" @@ -619,6 +620,6 @@ msgstr "kirjoittaminen epäonnistui" msgid "select call failed" msgstr "valintakutsu epäonnistui" -#: src/pv/watchpid.c:150 src/pv/watchpid.c:243 +#: src/pv/watchpid.c:160 src/pv/watchpid.c:288 msgid "not a regular file or block device" msgstr "ei tavallinen tiedosto tai lohkolaite" diff --git a/po/fr.po b/po/fr.po index d33aee3..d90e607 100644 --- a/po/fr.po +++ b/po/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: https://codeberg.org/ivarch/pv/issues\n" -"POT-Creation-Date: 2026-04-29 19:50+0100\n" +"POT-Creation-Date: 2026-04-29 21:37+0100\n" "PO-Revision-Date: 2025-05-31 08:58+0000\n" "Last-Translator: milimarg \n" "Language-Team: French \n" @@ -494,7 +494,7 @@ msgstr "yzafpnum kMGTPEZY" msgid "yzafpnum KMGTPEZY" msgstr "yzafpnum KMGTPEZY" -#: src/pv/display.c:1082 src/pv/state.c:900 src/pv/transfer.c:1154 +#: src/pv/display.c:1082 src/pv/state.c:904 src/pv/transfer.c:1154 msgid "buffer allocation failed" msgstr "échec de l'allocation de mémoire tampon" @@ -567,17 +567,18 @@ msgstr "taux non mesuré" #: src/pv/loop.c:958 src/pv/loop.c:974 src/pv/loop.c:992 src/pv/remote.c:91 #: src/pv/remote.c:184 src/pv/remote.c:531 src/pv/remote.c:577 -#: src/pv/watchpid.c:121 src/pv/watchpid.c:130 src/pv/watchpid.c:141 -#: src/pv/watchpid.c:148 src/pv/watchpid.c:184 src/pv/watchpid.c:196 -#: src/pv/watchpid.c:208 src/pv/watchpid.c:223 src/pv/watchpid.c:232 -#: src/pv/watchpid.c:241 src/pv/watchpid.c:356 src/pv/watchpid.c:364 -#: src/pv/watchpid.c:507 src/pv/watchpid.c:516 src/pv/watchpid.c:537 +#: src/pv/watchpid.c:123 src/pv/watchpid.c:132 src/pv/watchpid.c:142 +#: src/pv/watchpid.c:151 src/pv/watchpid.c:158 src/pv/watchpid.c:194 +#: src/pv/watchpid.c:206 src/pv/watchpid.c:218 src/pv/watchpid.c:268 +#: src/pv/watchpid.c:277 src/pv/watchpid.c:286 src/pv/watchpid.c:401 +#: src/pv/watchpid.c:409 src/pv/watchpid.c:556 src/pv/watchpid.c:565 +#: src/pv/watchpid.c:586 msgid "pid" msgstr "pid" -#: src/pv/loop.c:992 src/pv/watchpid.c:130 src/pv/watchpid.c:141 -#: src/pv/watchpid.c:150 src/pv/watchpid.c:223 src/pv/watchpid.c:232 -#: src/pv/watchpid.c:243 +#: src/pv/loop.c:992 src/pv/watchpid.c:132 src/pv/watchpid.c:142 +#: src/pv/watchpid.c:151 src/pv/watchpid.c:160 src/pv/watchpid.c:268 +#: src/pv/watchpid.c:277 src/pv/watchpid.c:288 msgid "fd" msgstr "fd" @@ -593,7 +594,7 @@ msgstr "SA_SIGINFO non pris en charge sur ce système" msgid "history structure allocation failed" msgstr "l'allocation de la structure de l'historique a échoué" -#: src/pv/state.c:852 src/pv/state.c:864 +#: src/pv/state.c:856 src/pv/state.c:868 msgid "file list allocation failed" msgstr "échec de l'allocation de la liste de fichiers" @@ -641,7 +642,7 @@ msgstr "l'écriture a échoué" msgid "select call failed" msgstr "l'appel de sélection a échoué" -#: src/pv/watchpid.c:150 src/pv/watchpid.c:243 +#: src/pv/watchpid.c:160 src/pv/watchpid.c:288 msgid "not a regular file or block device" msgstr "pas un fichier ordinaire ou un périphérique de bloc" diff --git a/po/pl.po b/po/pl.po index 233922e..bbd01b0 100644 --- a/po/pl.po +++ b/po/pl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://codeberg.org/ivarch/pv/issues\n" -"POT-Creation-Date: 2026-04-29 19:50+0100\n" +"POT-Creation-Date: 2026-04-29 21:37+0100\n" "PO-Revision-Date: 2026-04-06 15:34+0000\n" "Last-Translator: Coral Pink \n" "Language-Team: Polish \n" @@ -487,7 +487,7 @@ msgstr "yzafpnum kMGTPEZY" msgid "yzafpnum KMGTPEZY" msgstr "yzafpnum KMGTPEZY" -#: src/pv/display.c:1082 src/pv/state.c:900 src/pv/transfer.c:1154 +#: src/pv/display.c:1082 src/pv/state.c:904 src/pv/transfer.c:1154 msgid "buffer allocation failed" msgstr "nie udało się zaalokować bufora" @@ -561,17 +561,18 @@ msgstr "prędkość niezmierzona" #: src/pv/loop.c:958 src/pv/loop.c:974 src/pv/loop.c:992 src/pv/remote.c:91 #: src/pv/remote.c:184 src/pv/remote.c:531 src/pv/remote.c:577 -#: src/pv/watchpid.c:121 src/pv/watchpid.c:130 src/pv/watchpid.c:141 -#: src/pv/watchpid.c:148 src/pv/watchpid.c:184 src/pv/watchpid.c:196 -#: src/pv/watchpid.c:208 src/pv/watchpid.c:223 src/pv/watchpid.c:232 -#: src/pv/watchpid.c:241 src/pv/watchpid.c:356 src/pv/watchpid.c:364 -#: src/pv/watchpid.c:507 src/pv/watchpid.c:516 src/pv/watchpid.c:537 +#: src/pv/watchpid.c:123 src/pv/watchpid.c:132 src/pv/watchpid.c:142 +#: src/pv/watchpid.c:151 src/pv/watchpid.c:158 src/pv/watchpid.c:194 +#: src/pv/watchpid.c:206 src/pv/watchpid.c:218 src/pv/watchpid.c:268 +#: src/pv/watchpid.c:277 src/pv/watchpid.c:286 src/pv/watchpid.c:401 +#: src/pv/watchpid.c:409 src/pv/watchpid.c:556 src/pv/watchpid.c:565 +#: src/pv/watchpid.c:586 msgid "pid" msgstr "pid" -#: src/pv/loop.c:992 src/pv/watchpid.c:130 src/pv/watchpid.c:141 -#: src/pv/watchpid.c:150 src/pv/watchpid.c:223 src/pv/watchpid.c:232 -#: src/pv/watchpid.c:243 +#: src/pv/loop.c:992 src/pv/watchpid.c:132 src/pv/watchpid.c:142 +#: src/pv/watchpid.c:151 src/pv/watchpid.c:160 src/pv/watchpid.c:268 +#: src/pv/watchpid.c:277 src/pv/watchpid.c:288 msgid "fd" msgstr "fd" @@ -587,7 +588,7 @@ msgstr "SA_SIGINFO nie jest wspierane na tym systemie" msgid "history structure allocation failed" msgstr "nie udało się zaalokować struktury historii" -#: src/pv/state.c:852 src/pv/state.c:864 +#: src/pv/state.c:856 src/pv/state.c:868 msgid "file list allocation failed" msgstr "nie udało się zaalokować listy plików" @@ -636,7 +637,7 @@ msgstr "błąd zapisu" msgid "select call failed" msgstr "nie udało się wywołać funkcji select" -#: src/pv/watchpid.c:150 src/pv/watchpid.c:243 +#: src/pv/watchpid.c:160 src/pv/watchpid.c:288 msgid "not a regular file or block device" msgstr "plik nie jest plikiem regularnym lub urządzeniem blokowym" diff --git a/po/pt.po b/po/pt.po index 0b78a26..a2f59cf 100644 --- a/po/pt.po +++ b/po/pt.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://codeberg.org/ivarch/pv/issues\n" -"POT-Creation-Date: 2026-04-29 19:50+0100\n" +"POT-Creation-Date: 2026-04-29 21:37+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -473,7 +473,7 @@ msgstr "" msgid "yzafpnum KMGTPEZY" msgstr "" -#: src/pv/display.c:1082 src/pv/state.c:900 src/pv/transfer.c:1154 +#: src/pv/display.c:1082 src/pv/state.c:904 src/pv/transfer.c:1154 msgid "buffer allocation failed" msgstr "erro alocando o buffer" @@ -546,17 +546,18 @@ msgstr "" #: src/pv/loop.c:958 src/pv/loop.c:974 src/pv/loop.c:992 src/pv/remote.c:91 #: src/pv/remote.c:184 src/pv/remote.c:531 src/pv/remote.c:577 -#: src/pv/watchpid.c:121 src/pv/watchpid.c:130 src/pv/watchpid.c:141 -#: src/pv/watchpid.c:148 src/pv/watchpid.c:184 src/pv/watchpid.c:196 -#: src/pv/watchpid.c:208 src/pv/watchpid.c:223 src/pv/watchpid.c:232 -#: src/pv/watchpid.c:241 src/pv/watchpid.c:356 src/pv/watchpid.c:364 -#: src/pv/watchpid.c:507 src/pv/watchpid.c:516 src/pv/watchpid.c:537 +#: src/pv/watchpid.c:123 src/pv/watchpid.c:132 src/pv/watchpid.c:142 +#: src/pv/watchpid.c:151 src/pv/watchpid.c:158 src/pv/watchpid.c:194 +#: src/pv/watchpid.c:206 src/pv/watchpid.c:218 src/pv/watchpid.c:268 +#: src/pv/watchpid.c:277 src/pv/watchpid.c:286 src/pv/watchpid.c:401 +#: src/pv/watchpid.c:409 src/pv/watchpid.c:556 src/pv/watchpid.c:565 +#: src/pv/watchpid.c:586 msgid "pid" msgstr "" -#: src/pv/loop.c:992 src/pv/watchpid.c:130 src/pv/watchpid.c:141 -#: src/pv/watchpid.c:150 src/pv/watchpid.c:223 src/pv/watchpid.c:232 -#: src/pv/watchpid.c:243 +#: src/pv/loop.c:992 src/pv/watchpid.c:132 src/pv/watchpid.c:142 +#: src/pv/watchpid.c:151 src/pv/watchpid.c:160 src/pv/watchpid.c:268 +#: src/pv/watchpid.c:277 src/pv/watchpid.c:288 msgid "fd" msgstr "" @@ -572,7 +573,7 @@ msgstr "SA_SIGINFO não suportado neste sistema" msgid "history structure allocation failed" msgstr "" -#: src/pv/state.c:852 src/pv/state.c:864 +#: src/pv/state.c:856 src/pv/state.c:868 msgid "file list allocation failed" msgstr "" @@ -620,6 +621,6 @@ msgstr "erro de gravação" msgid "select call failed" msgstr "erro na chamada da função select" -#: src/pv/watchpid.c:150 src/pv/watchpid.c:243 +#: src/pv/watchpid.c:160 src/pv/watchpid.c:288 msgid "not a regular file or block device" msgstr "não é um arquivo regular ou dispositivo de bloqueio" diff --git a/po/ru.po b/po/ru.po index 5a98bb6..a9f9a3f 100644 --- a/po/ru.po +++ b/po/ru.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: https://codeberg.org/ivarch/pv/issues\n" -"POT-Creation-Date: 2026-04-29 19:50+0100\n" +"POT-Creation-Date: 2026-04-29 21:37+0100\n" "PO-Revision-Date: 2025-01-15 19:08+0000\n" "Last-Translator: 0ko <0ko@users.noreply.translate.codeberg.org>\n" "Language-Team: Russian \n" @@ -468,7 +468,7 @@ msgstr "" msgid "yzafpnum KMGTPEZY" msgstr "" -#: src/pv/display.c:1082 src/pv/state.c:900 src/pv/transfer.c:1154 +#: src/pv/display.c:1082 src/pv/state.c:904 src/pv/transfer.c:1154 msgid "buffer allocation failed" msgstr "не удалось выделить память для буфера" @@ -541,17 +541,18 @@ msgstr "скорость не изменяется" #: src/pv/loop.c:958 src/pv/loop.c:974 src/pv/loop.c:992 src/pv/remote.c:91 #: src/pv/remote.c:184 src/pv/remote.c:531 src/pv/remote.c:577 -#: src/pv/watchpid.c:121 src/pv/watchpid.c:130 src/pv/watchpid.c:141 -#: src/pv/watchpid.c:148 src/pv/watchpid.c:184 src/pv/watchpid.c:196 -#: src/pv/watchpid.c:208 src/pv/watchpid.c:223 src/pv/watchpid.c:232 -#: src/pv/watchpid.c:241 src/pv/watchpid.c:356 src/pv/watchpid.c:364 -#: src/pv/watchpid.c:507 src/pv/watchpid.c:516 src/pv/watchpid.c:537 +#: src/pv/watchpid.c:123 src/pv/watchpid.c:132 src/pv/watchpid.c:142 +#: src/pv/watchpid.c:151 src/pv/watchpid.c:158 src/pv/watchpid.c:194 +#: src/pv/watchpid.c:206 src/pv/watchpid.c:218 src/pv/watchpid.c:268 +#: src/pv/watchpid.c:277 src/pv/watchpid.c:286 src/pv/watchpid.c:401 +#: src/pv/watchpid.c:409 src/pv/watchpid.c:556 src/pv/watchpid.c:565 +#: src/pv/watchpid.c:586 msgid "pid" msgstr "ИДпр" -#: src/pv/loop.c:992 src/pv/watchpid.c:130 src/pv/watchpid.c:141 -#: src/pv/watchpid.c:150 src/pv/watchpid.c:223 src/pv/watchpid.c:232 -#: src/pv/watchpid.c:243 +#: src/pv/loop.c:992 src/pv/watchpid.c:132 src/pv/watchpid.c:142 +#: src/pv/watchpid.c:151 src/pv/watchpid.c:160 src/pv/watchpid.c:268 +#: src/pv/watchpid.c:277 src/pv/watchpid.c:288 msgid "fd" msgstr "дф" @@ -567,7 +568,7 @@ msgstr "Этой системой не поддерживается SA_SIGINFO" msgid "history structure allocation failed" msgstr "не удалось выделить память для структуры истории" -#: src/pv/state.c:852 src/pv/state.c:864 +#: src/pv/state.c:856 src/pv/state.c:868 msgid "file list allocation failed" msgstr "не удалось выделить память для списка файлов" @@ -615,7 +616,7 @@ msgstr "запись не удалась" msgid "select call failed" msgstr "запрос выборки не удался" -#: src/pv/watchpid.c:150 src/pv/watchpid.c:243 +#: src/pv/watchpid.c:160 src/pv/watchpid.c:288 msgid "not a regular file or block device" msgstr "не является обычным файлом или блочным устройством" diff --git a/po/tr.po b/po/tr.po index f3bcfe1..6b506e3 100644 --- a/po/tr.po +++ b/po/tr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: pv 1.8.14\n" "Report-Msgid-Bugs-To: https://codeberg.org/ivarch/pv/issues\n" -"POT-Creation-Date: 2026-04-29 19:50+0100\n" +"POT-Creation-Date: 2026-04-29 21:37+0100\n" "PO-Revision-Date: 2025-10-05 20:09+0000\n" "Last-Translator: Oğuz Ersen \n" "Language-Team: Turkish \n" @@ -469,7 +469,7 @@ msgstr "yzafpnum kMGTPEZY" msgid "yzafpnum KMGTPEZY" msgstr "yzafpnum KMGTPEZY" -#: src/pv/display.c:1082 src/pv/state.c:900 src/pv/transfer.c:1154 +#: src/pv/display.c:1082 src/pv/state.c:904 src/pv/transfer.c:1154 msgid "buffer allocation failed" msgstr "arabellek tahsisi başarısız oldu" @@ -542,17 +542,18 @@ msgstr "oran ölçülmedi" #: src/pv/loop.c:958 src/pv/loop.c:974 src/pv/loop.c:992 src/pv/remote.c:91 #: src/pv/remote.c:184 src/pv/remote.c:531 src/pv/remote.c:577 -#: src/pv/watchpid.c:121 src/pv/watchpid.c:130 src/pv/watchpid.c:141 -#: src/pv/watchpid.c:148 src/pv/watchpid.c:184 src/pv/watchpid.c:196 -#: src/pv/watchpid.c:208 src/pv/watchpid.c:223 src/pv/watchpid.c:232 -#: src/pv/watchpid.c:241 src/pv/watchpid.c:356 src/pv/watchpid.c:364 -#: src/pv/watchpid.c:507 src/pv/watchpid.c:516 src/pv/watchpid.c:537 +#: src/pv/watchpid.c:123 src/pv/watchpid.c:132 src/pv/watchpid.c:142 +#: src/pv/watchpid.c:151 src/pv/watchpid.c:158 src/pv/watchpid.c:194 +#: src/pv/watchpid.c:206 src/pv/watchpid.c:218 src/pv/watchpid.c:268 +#: src/pv/watchpid.c:277 src/pv/watchpid.c:286 src/pv/watchpid.c:401 +#: src/pv/watchpid.c:409 src/pv/watchpid.c:556 src/pv/watchpid.c:565 +#: src/pv/watchpid.c:586 msgid "pid" msgstr "pid" -#: src/pv/loop.c:992 src/pv/watchpid.c:130 src/pv/watchpid.c:141 -#: src/pv/watchpid.c:150 src/pv/watchpid.c:223 src/pv/watchpid.c:232 -#: src/pv/watchpid.c:243 +#: src/pv/loop.c:992 src/pv/watchpid.c:132 src/pv/watchpid.c:142 +#: src/pv/watchpid.c:151 src/pv/watchpid.c:160 src/pv/watchpid.c:268 +#: src/pv/watchpid.c:277 src/pv/watchpid.c:288 msgid "fd" msgstr "fd" @@ -568,7 +569,7 @@ msgstr "SA_SIGINFO bu sistemde desteklenmiyor" msgid "history structure allocation failed" msgstr "geçmiş yapısı tahsisi başarısız oldu" -#: src/pv/state.c:852 src/pv/state.c:864 +#: src/pv/state.c:856 src/pv/state.c:868 msgid "file list allocation failed" msgstr "dosya listesi tahsisi başarısız oldu" @@ -616,7 +617,7 @@ msgstr "yazma başarısız" msgid "select call failed" msgstr "seçme çağrısı başarısız oldu" -#: src/pv/watchpid.c:150 src/pv/watchpid.c:243 +#: src/pv/watchpid.c:160 src/pv/watchpid.c:288 msgid "not a regular file or block device" msgstr "normal bir dosya veya blok aygıtı değil" diff --git a/src/include/pv-internal.h b/src/include/pv-internal.h index def8c6e..d395746 100644 --- a/src/include/pv-internal.h +++ b/src/include/pv-internal.h @@ -48,7 +48,6 @@ extern "C" { #define PV_SIZEOF_PREVLINE_BUFFER 1024 #define PV_FORMAT_ARRAY_MAX 100 #define PV_SIZEOF_FORMAT_SEGMENTS_BUF 4096 -#define PV_SIZEOF_FILE_FDPATH 4096 #define PV_SIZEOF_DISPLAY_NAME 512 #define PV_BARSTYLE_MAX 4 /* number of different styles allowed in a format */ @@ -498,7 +497,7 @@ struct pvwatchfd_s { nullable_string_ptr file_fdinfo; /* path to /proc fdinfo file */ nullable_string_ptr file_fdsymlink; /* path to /proc fd symlink */ #endif - char file_fdpath[PV_SIZEOF_FILE_FDPATH]; /* path to file that was opened */ + nullable_string_ptr file_fdpath; /* path to file that was opened */ /*@keep@ */ char display_name[PV_SIZEOF_DISPLAY_NAME]; /* name to show on progress bar */ struct stat sb_fd; /* stat of fd symlink */ struct stat sb_fd_link; /* lstat of fd symlink */ diff --git a/src/pv/state.c b/src/pv/state.c index 52840b7..2ed4eb4 100644 --- a/src/pv/state.c +++ b/src/pv/state.c @@ -221,7 +221,11 @@ pvstate_t pv_state_alloc(void) for (try_size = 32; try_size <= 16384; try_size = try_size * 2) { bool buffer_too_small; - /*@-mustfreeonly@ *//* splint mis-detects a memory leak here */ + if (NULL != state->status.cwd) { + free(state->status.cwd); + state->status.cwd = NULL; + } + /*@-mustfreeonly@ *//* splint mis-detects this as a memory leak. */ state->status.cwd = malloc(try_size); /*@+mustfreeonly@ */ if (NULL == state->status.cwd) diff --git a/src/pv/watchpid.c b/src/pv/watchpid.c index 4a19c8f..faddbd4 100644 --- a/src/pv/watchpid.c +++ b/src/pv/watchpid.c @@ -44,6 +44,8 @@ static bool filesize(pvwatchfd_t info) { if (NULL == info) return false; + if (NULL == info->file_fdpath) + return false; if (S_ISBLK(info->sb_fd.st_mode)) { int fd; @@ -131,7 +133,15 @@ int pv_watchfd_info(pvstate_t state, pvwatchfd_t info, bool automatic) return 3; } - strlcpy(info->file_fdpath, vnodeInfo.pvip.vip_path, PV_SIZEOF_FILE_FDPATH); + if (NULL != info->file_fdpath) { + free(info->file_fdpath); + info->file_fdpath = NULL; + } + info->file_fdpath = pv_strdup(vnodeInfo.pvip.vip_path); + if (NULL == info->file_fdpath) { + pv_perror("%s %u: %s %d", _("pid"), info->watch_pid, _("fd"), info->watch_fd); + return 3; + } info->size = 0; @@ -210,15 +220,50 @@ int pv_watchfd_info(pvstate_t state, pvwatchfd_t info, bool automatic) } /* Get a string containing the path that the /proc fd symlink points to. */ - memset(info->file_fdpath, 0, PV_SIZEOF_FILE_FDPATH); - if (readlink(info->file_fdsymlink, info->file_fdpath, PV_SIZEOF_FILE_FDPATH - 1) < 0) { /* flawfinder: ignore */ - /* - * flawfinder: memset() has put \0 at the end already, and - * readlink() is given 1 byte less than the buffer length, - * so \0 termination is assured. See filesize() above for - * the mitigation of the risk that the link could change - * while it is being read. - */ + if (NULL != info->file_fdpath) { + free(info->file_fdpath); + info->file_fdpath = NULL; + } + /* Try buffers of different sizes - see readlink(2). */ + { + size_t try_size; + + for (try_size = 16; try_size <= 16384; try_size = try_size * 2) { + ssize_t bytes_stored; + + if (NULL != info->file_fdpath) { + free(info->file_fdpath); + info->file_fdpath = NULL; + } + /*@-mustfreeonly@ *//* splint mis-detects this as a memory leak. */ + info->file_fdpath = calloc(1, try_size); + /*@+mustfreeonly@ */ + if (NULL == info->file_fdpath) + break; + + bytes_stored = readlink(info->file_fdsymlink, info->file_fdpath, try_size - 1); /* flawfinder: ignore */ + /* + * flawfinder: the risk is minimal, as no reads are + * performed. + */ + if (bytes_stored < 0) { + int old_errno; + old_errno = errno; + free(info->file_fdpath); + info->file_fdpath = NULL; + errno = old_errno; + break; + } else if (bytes_stored < (ssize_t) (try_size - 1)) { + info->file_fdpath[bytes_stored] = '\0'; + break; + } else { + free(info->file_fdpath); + info->file_fdpath = NULL; + errno = ENAMETOOLONG; + } + } + } + if (NULL == info->file_fdpath) { if (!automatic) pv_perror("%s %u: %s %d", _("pid"), info->watch_pid, _("fd"), info->watch_fd); return 2; @@ -459,6 +504,10 @@ void pv_freecontents_watchfd(pvwatchfd_t info) info->file_fdsymlink = NULL; } #endif + if (NULL != info->file_fdpath) { + free(info->file_fdpath); + info->file_fdpath = NULL; + } } @@ -725,6 +774,8 @@ void pv_watchpid_setname(pvstate_t state, pvwatchfd_t info) file_fdpath = info->file_fdpath; memset(info->display_name, 0, PV_SIZEOF_DISPLAY_NAME); + if (NULL == file_fdpath) + return; path_length = strlen(info->file_fdpath); /* flawfinder: ignore */ cwd_length = 0;