Allow "--size @dir" to read the size of all files under "dir" (#179).

This commit is contained in:
Andrew Wood
2026-03-07 22:23:10 +00:00
parent e4bc770054
commit e17f64fce7
17 changed files with 481 additions and 325 deletions
+1
View File
@@ -93,6 +93,7 @@ tests/Modifiers_-_--force.test \
tests/Modifiers_-_--interval.test \
tests/Modifiers_-_--line-mode.test \
tests/Modifiers_-_--size_from_file_size.test \
tests/Modifiers_-_--size_from_dir_size.test \
tests/Modifiers_-_--size.test \
tests/Modifiers_-_--sync.test \
tests/Sparse_-_Basic.test \
+2
View File
@@ -31,6 +31,7 @@ AC_CHECK_FUNCS([fpathconf sysconf posix_memalign posix_fadvise])
AC_CHECK_FUNCS([nanosleep])
AC_CHECK_FUNCS([setitimer])
AC_CHECK_FUNCS([setproctitle])
AC_CHECK_FUNCS([nftw])
AC_CHECK_HEADERS([getopt.h])
AC_CHECK_HEADERS([limits.h])
AC_CHECK_HEADERS([langinfo.h])
@@ -40,6 +41,7 @@ AC_CHECK_HEADERS([libgen.h])
AC_CHECK_HEADERS([sys/ioctl.h])
AC_CHECK_HEADERS([libintl.h locale.h])
AC_CHECK_HEADERS([sys/sysmacros.h])
AC_CHECK_HEADERS([ftw.h])
AC_CHECK_MEMBERS([struct stat.st_blksize])
AC_CHECK_DECLS([SA_SIGINFO], [], [], [[#include <signal.h>]])
+13 -1
View File
@@ -162,7 +162,8 @@ If \*(lq\fB\-\-si\fR\*(rq appears before this option, suffixes will denote
kilobytes (*1000), megabytes, and so on instead.
.IP
If \fISIZE\fR starts with \*(lq\fB@\fR\*(rq, the size of file whose name
follows the @ will be used.
follows the @ will be used; if that is a directory, the size of all files
under it will be used, like \*(lq\fBdu\~\-\-apparent\-size\~\-b\fR\*(rq.
.TP
.B \-g, \-\-gauge
If the progress bar is shown but the size is not known, then instead of
@@ -636,6 +637,17 @@ tar cf \- directory/ \e
.EE
.in
.PP
An alternative way of doing the same thing:
.PP
.in +4
.EX
tar cf \- directory/ \e
| pv \-\-size @directory/ \e
| gzip \-9 \e
> out.tar.gz
.EE
.in
.PP
Taking an image of a disk, skipping errors:
.PP
.in +4
+9 -1
View File
@@ -164,7 +164,8 @@ are explicitly switched on will be shown.
denote kilobytes (\*1000), megabytes, and so on instead.
If *SIZE* starts with "**@**", the size of file whose name follows
the @ will be used.
the @ will be used; if that is a directory, the size of all files
under it will be used, like "**du \--apparent-size -b**".
**-g, \--gauge**
@@ -632,6 +633,13 @@ To watch the progress of creating a tar.gz archive:
| gzip -9 \
> out.tar.gz
An alternative way of doing the same thing:
tar cf - directory/ \
| pv --size @directory/ \
| gzip -9 \
> out.tar.gz
Taking an image of a disk, skipping errors:
pv -EE /dev/your/disk/device > disk-image.img
+27 -27
View File
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Report-Msgid-Bugs-To: https://codeberg.org/ivarch/pv/issues\n"
"POT-Creation-Date: 2025-12-15 20:10+0000\n"
"POT-Creation-Date: 2026-03-07 22:21+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"
@@ -293,81 +293,81 @@ msgstr "(vstup)"
msgid "state allocation failed"
msgstr "selhala alokace stavu"
#: src/main/options.c:370
#: src/main/options.c:373
msgid "list files may not contain @ lines"
msgstr ""
#: src/main/options.c:391 src/main/options.c:393 src/main/options.c:807
#: src/main/options.c:394 src/main/options.c:396 src/main/options.c:857
msgid "process ID or pid:fd pair expected"
msgstr "očekáváno ID procesu nebo dvojice PID:DS"
#: src/main/options.c:403 src/main/options.c:405 src/main/options.c:814
#: src/main/options.c:406 src/main/options.c:408 src/main/options.c:864
msgid "invalid process ID"
msgstr "neplatné ID procesu"
#: src/main/options.c:448 src/pv/file.c:342
#: src/main/options.c:475 src/pv/file.c:342
msgid "failed to stat file"
msgstr "nebylo možné zjistit informace o souboru"
#: src/main/options.c:462
#: src/main/options.c:511
msgid "is a directory"
msgstr "je adresář"
#: src/main/options.c:491
#: src/main/options.c:541
msgid "failed to generate sysfs filename"
msgstr "selhalo vytváření jména pro soubor v sysfs"
#: src/main/options.c:513
#: src/main/options.c:563
msgid "failed to read sysfs size file"
msgstr "selhalo čtení velikosti souboru v sysfs"
#: src/main/options.c:533
#: src/main/options.c:583
msgid "failed to open block device"
msgstr "selhalo otevření blokového zařízení"
#: src/main/options.c:543
#: src/main/options.c:593
msgid "failed to determine size of block device"
msgstr "selhalo zjištění velikosti blokového zařízení"
#: src/main/options.c:652
#: src/main/options.c:702
msgid "option structure allocation failed"
msgstr "selhala alokace struktury pro volby"
#: src/main/options.c:671
#: src/main/options.c:721
msgid "option structure argv allocation failed"
msgstr "selhala alokace struktury pro argv"
#: src/main/options.c:723
#: src/main/options.c:773
msgid "numeric value not understood"
msgstr ""
#: src/main/options.c:743
#: src/main/options.c:793
msgid "integer argument expected"
msgstr "očekáván celočíselný argument"
#: src/main/options.c:755
#: src/main/options.c:805
msgid "numeric argument expected"
msgstr "očekáván číselný argument"
#: src/main/options.c:767
#: src/main/options.c:817
msgid "missing filename"
msgstr ""
#: src/main/options.c:795
#: src/main/options.c:845
msgid "missing process name"
msgstr ""
#: src/main/options.c:1056
#: src/main/options.c:1106
#, c-format
msgid "Try `%s --help' for more information."
msgstr "Zkuste `%s --help' pro více informací."
#: src/main/options.c:1058
#: src/main/options.c:1108
#, c-format
msgid "Try `%s -h' for more information."
msgstr "Zkuste `%s --h' pro více informací."
#: src/main/options.c:1089
#: src/main/options.c:1139
msgid ""
"cannot use line mode or transfer modifier options when watching file "
"descriptors"
@@ -375,31 +375,31 @@ msgstr ""
"při sledování deskriptorů souborů nelze použít řádkový mód nebo volby pro "
"modifikaci přenosu"
#: src/main/options.c:1098
#: src/main/options.c:1148
msgid "cannot use cursor positioning when watching file descriptors"
msgstr "při sledování deskriptorů souborů nelze pozicování kurzoru použít"
#: src/main/options.c:1107
#: src/main/options.c:1157
msgid "cannot use remote control when watching file descriptors"
msgstr "při sledování deskriptorů souborů nelze použít vzdálené ovládání"
#: src/main/options.c:1116
#: src/main/options.c:1166
msgid "cannot use remote query when watching file descriptors"
msgstr ""
#: src/main/options.c:1125
#: src/main/options.c:1175
msgid "cannot transfer files when watching file descriptors"
msgstr "při sledování deskriptorů souborů nelze použít přenos souborů"
#: src/main/options.c:1150
#: src/main/options.c:1200
msgid "not available on systems without /proc/self/fdinfo"
msgstr "není dostupné na systémech bez /proc/self/fdinfo"
#: src/main/options.c:1162
#: src/main/options.c:1212
msgid "cannot use remote control and remote query together"
msgstr ""
#: src/main/options.c:1189
#: src/main/options.c:1239
msgid "files cannot be specified with this option"
msgstr ""
+30 -30
View File
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Report-Msgid-Bugs-To: https://codeberg.org/ivarch/pv/issues\n"
"POT-Creation-Date: 2025-12-15 20:10+0000\n"
"POT-Creation-Date: 2026-03-07 22:21+0000\n"
"PO-Revision-Date: 2025-01-14 20:39+0000\n"
"Last-Translator: Benny <benny@users.noreply.translate.codeberg.org>\n"
"Language-Team: German <https://translate.codeberg.org/projects/pv/pv/de/>\n"
@@ -14,9 +14,9 @@ msgstr ""
"From: Andrew Wood <ivarch@ubik>\n"
"Xgettext-Options: --default-domain=pkgbuild --directory=./.pkgdir --add-"
"comments --keyword=_ --keyword=N_\n"
"Files: src/getopt/getopt.c src/getopt/getopt1.c src/version.c src/main/init."
"c src/main/help.c src/main/xpmptr.c src/guts/load.c src/guts/stop.c src/guts/"
"configure.c src/guts/make.c src/guts/install.c src/guts/prefs.c src/ui/"
"Files: src/getopt/getopt.c src/getopt/getopt1.c src/version.c src/main/"
"init.c src/main/help.c src/main/xpmptr.c src/guts/load.c src/guts/stop.c src/"
"guts/configure.c src/guts/make.c src/guts/install.c src/guts/prefs.c src/ui/"
"generate.c src/ui/main.c src/ui/xpm.c src/ui/status.c src/ui/activate.c src/"
"ui/handlers/main.c src/ui/handlers/package.c src/ui/handlers/prefs.c src/ui/"
"handlers/dirsel.c src/ui/handlers/popup.c src/ui/handlers/help.c src/ui/"
@@ -311,81 +311,81 @@ msgstr "(eingabe)"
msgid "state allocation failed"
msgstr "Speicherzuweisung für `state' fehlgeschlagen"
#: src/main/options.c:370
#: src/main/options.c:373
msgid "list files may not contain @ lines"
msgstr ""
#: src/main/options.c:391 src/main/options.c:393 src/main/options.c:807
#: src/main/options.c:394 src/main/options.c:396 src/main/options.c:857
msgid "process ID or pid:fd pair expected"
msgstr "Prozess-ID oder PID:FD-Paar erwartet"
#: src/main/options.c:403 src/main/options.c:405 src/main/options.c:814
#: src/main/options.c:406 src/main/options.c:408 src/main/options.c:864
msgid "invalid process ID"
msgstr "ungültige Prozess-ID"
#: src/main/options.c:448 src/pv/file.c:342
#: src/main/options.c:475 src/pv/file.c:342
msgid "failed to stat file"
msgstr "konnte Dateiinformationen nicht lesen"
#: src/main/options.c:462
#: src/main/options.c:511
msgid "is a directory"
msgstr "ist ein Verzeichnis"
#: src/main/options.c:491
#: src/main/options.c:541
msgid "failed to generate sysfs filename"
msgstr "konnte Sysfs-Dateinamen nicht erzeugen"
#: src/main/options.c:513
#: src/main/options.c:563
msgid "failed to read sysfs size file"
msgstr "konnte Größe der Sysfs-Datei nicht lesen"
#: src/main/options.c:533
#: src/main/options.c:583
msgid "failed to open block device"
msgstr "konnte Blockgerät nicht öffnen"
#: src/main/options.c:543
#: src/main/options.c:593
msgid "failed to determine size of block device"
msgstr "konnte Größe des Blockgeräts nicht ermitteln"
#: src/main/options.c:652
#: src/main/options.c:702
msgid "option structure allocation failed"
msgstr "Speicherzuweisung für `option' fehlgeschlagen"
#: src/main/options.c:671
#: src/main/options.c:721
msgid "option structure argv allocation failed"
msgstr "Speicherzuweisung für `argv' der Option fehlgeschlagen"
#: src/main/options.c:723
#: src/main/options.c:773
msgid "numeric value not understood"
msgstr "numerischen Wert nicht verstanden"
#: src/main/options.c:743
#: src/main/options.c:793
msgid "integer argument expected"
msgstr "Ganzzahliges Argument erwartet"
#: src/main/options.c:755
#: src/main/options.c:805
msgid "numeric argument expected"
msgstr "numerisches Argument erwartet"
#: src/main/options.c:767
#: src/main/options.c:817
msgid "missing filename"
msgstr ""
#: src/main/options.c:795
#: src/main/options.c:845
msgid "missing process name"
msgstr ""
#: src/main/options.c:1056
#: src/main/options.c:1106
#, c-format
msgid "Try `%s --help' for more information."
msgstr "`%s --help' zeigt weitere Informationen an."
#: src/main/options.c:1058
#: src/main/options.c:1108
#, c-format
msgid "Try `%s -h' for more information."
msgstr "`%s -h' zeigt weitere Informationen an."
#: src/main/options.c:1089
#: src/main/options.c:1139
msgid ""
"cannot use line mode or transfer modifier options when watching file "
"descriptors"
@@ -393,36 +393,36 @@ msgstr ""
"Beim Beobachten von Dateideskriptoren können keine Optionen für den "
"Zeilenmodus oder den Übertragungsmodifikator verwendet werden"
#: src/main/options.c:1098
#: src/main/options.c:1148
msgid "cannot use cursor positioning when watching file descriptors"
msgstr ""
"Beim Beobachten von Dateideskriptoren kann Cursor-Positionierung nicht "
"verwendet werden"
#: src/main/options.c:1107
#: src/main/options.c:1157
msgid "cannot use remote control when watching file descriptors"
msgstr ""
"Beim Beobachten von Dateideskriptoren kann die Fernbedienung nicht verwenden "
"werden"
#: src/main/options.c:1116
#: src/main/options.c:1166
msgid "cannot use remote query when watching file descriptors"
msgstr ""
#: src/main/options.c:1125
#: src/main/options.c:1175
msgid "cannot transfer files when watching file descriptors"
msgstr ""
"Beim Beobachten von Dateideskriptoren können Dateien nicht übertragen werden"
#: src/main/options.c:1150
#: src/main/options.c:1200
msgid "not available on systems without /proc/self/fdinfo"
msgstr "Nicht verfügbar auf Systemen ohne /proc/self/fdinfo"
#: src/main/options.c:1162
#: src/main/options.c:1212
msgid "cannot use remote control and remote query together"
msgstr ""
#: src/main/options.c:1189
#: src/main/options.c:1239
msgid "files cannot be specified with this option"
msgstr ""
+27 -27
View File
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Report-Msgid-Bugs-To: https://codeberg.org/ivarch/pv/issues\n"
"POT-Creation-Date: 2025-12-15 20:10+0000\n"
"POT-Creation-Date: 2026-03-07 22:21+0000\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -287,111 +287,111 @@ msgstr ""
msgid "state allocation failed"
msgstr ""
#: src/main/options.c:370
#: src/main/options.c:373
msgid "list files may not contain @ lines"
msgstr ""
#: src/main/options.c:391 src/main/options.c:393 src/main/options.c:807
#: src/main/options.c:394 src/main/options.c:396 src/main/options.c:857
msgid "process ID or pid:fd pair expected"
msgstr ""
#: src/main/options.c:403 src/main/options.c:405 src/main/options.c:814
#: src/main/options.c:406 src/main/options.c:408 src/main/options.c:864
msgid "invalid process ID"
msgstr ""
#: src/main/options.c:448 src/pv/file.c:342
#: src/main/options.c:475 src/pv/file.c:342
msgid "failed to stat file"
msgstr ""
#: src/main/options.c:462
#: src/main/options.c:511
msgid "is a directory"
msgstr ""
#: src/main/options.c:491
#: src/main/options.c:541
msgid "failed to generate sysfs filename"
msgstr ""
#: src/main/options.c:513
#: src/main/options.c:563
msgid "failed to read sysfs size file"
msgstr ""
#: src/main/options.c:533
#: src/main/options.c:583
msgid "failed to open block device"
msgstr ""
#: src/main/options.c:543
#: src/main/options.c:593
msgid "failed to determine size of block device"
msgstr ""
#: src/main/options.c:652
#: src/main/options.c:702
msgid "option structure allocation failed"
msgstr ""
#: src/main/options.c:671
#: src/main/options.c:721
msgid "option structure argv allocation failed"
msgstr ""
#: src/main/options.c:723
#: src/main/options.c:773
msgid "numeric value not understood"
msgstr ""
#: src/main/options.c:743
#: src/main/options.c:793
msgid "integer argument expected"
msgstr ""
#: src/main/options.c:755
#: src/main/options.c:805
msgid "numeric argument expected"
msgstr ""
#: src/main/options.c:767
#: src/main/options.c:817
msgid "missing filename"
msgstr ""
#: src/main/options.c:795
#: src/main/options.c:845
msgid "missing process name"
msgstr ""
#: src/main/options.c:1056
#: src/main/options.c:1106
#, c-format
msgid "Try `%s --help' for more information."
msgstr ""
#: src/main/options.c:1058
#: src/main/options.c:1108
#, c-format
msgid "Try `%s -h' for more information."
msgstr ""
#: src/main/options.c:1089
#: src/main/options.c:1139
msgid ""
"cannot use line mode or transfer modifier options when watching file "
"descriptors"
msgstr ""
#: src/main/options.c:1098
#: src/main/options.c:1148
msgid "cannot use cursor positioning when watching file descriptors"
msgstr ""
#: src/main/options.c:1107
#: src/main/options.c:1157
msgid "cannot use remote control when watching file descriptors"
msgstr ""
#: src/main/options.c:1116
#: src/main/options.c:1166
msgid "cannot use remote query when watching file descriptors"
msgstr ""
#: src/main/options.c:1125
#: src/main/options.c:1175
msgid "cannot transfer files when watching file descriptors"
msgstr ""
#: src/main/options.c:1150
#: src/main/options.c:1200
msgid "not available on systems without /proc/self/fdinfo"
msgstr ""
#: src/main/options.c:1162
#: src/main/options.c:1212
msgid "cannot use remote control and remote query together"
msgstr ""
#: src/main/options.c:1189
#: src/main/options.c:1239
msgid "files cannot be specified with this option"
msgstr ""
+27 -27
View File
@@ -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: 2025-12-15 20:10+0000\n"
"POT-Creation-Date: 2026-03-07 22:21+0000\n"
"PO-Revision-Date: 2025-11-22 15:06+0000\n"
"Last-Translator: artnay <artnay@noreply.codeberg.org>\n"
"Language-Team: Finnish <https://translate.codeberg.org/projects/pv/pv/fi/>\n"
@@ -295,111 +295,111 @@ msgstr ""
msgid "state allocation failed"
msgstr ""
#: src/main/options.c:370
#: src/main/options.c:373
msgid "list files may not contain @ lines"
msgstr ""
#: src/main/options.c:391 src/main/options.c:393 src/main/options.c:807
#: src/main/options.c:394 src/main/options.c:396 src/main/options.c:857
msgid "process ID or pid:fd pair expected"
msgstr ""
#: src/main/options.c:403 src/main/options.c:405 src/main/options.c:814
#: src/main/options.c:406 src/main/options.c:408 src/main/options.c:864
msgid "invalid process ID"
msgstr "virheellinen prosessin ID"
#: src/main/options.c:448 src/pv/file.c:342
#: src/main/options.c:475 src/pv/file.c:342
msgid "failed to stat file"
msgstr ""
#: src/main/options.c:462
#: src/main/options.c:511
msgid "is a directory"
msgstr "on hakemisto"
#: src/main/options.c:491
#: src/main/options.c:541
msgid "failed to generate sysfs filename"
msgstr ""
#: src/main/options.c:513
#: src/main/options.c:563
msgid "failed to read sysfs size file"
msgstr ""
#: src/main/options.c:533
#: src/main/options.c:583
msgid "failed to open block device"
msgstr "lohkolaitteen avaaminen epäonnistui"
#: src/main/options.c:543
#: src/main/options.c:593
msgid "failed to determine size of block device"
msgstr "lohkolaitteen koon päättely epäonnistui"
#: src/main/options.c:652
#: src/main/options.c:702
msgid "option structure allocation failed"
msgstr ""
#: src/main/options.c:671
#: src/main/options.c:721
msgid "option structure argv allocation failed"
msgstr ""
#: src/main/options.c:723
#: src/main/options.c:773
msgid "numeric value not understood"
msgstr "numeerista arvoa ei ymmärretty"
#: src/main/options.c:743
#: src/main/options.c:793
msgid "integer argument expected"
msgstr ""
#: src/main/options.c:755
#: src/main/options.c:805
msgid "numeric argument expected"
msgstr ""
#: src/main/options.c:767
#: src/main/options.c:817
msgid "missing filename"
msgstr "puuttuva tiedostonimi"
#: src/main/options.c:795
#: src/main/options.c:845
msgid "missing process name"
msgstr "puuttuva prosessinimi"
#: src/main/options.c:1056
#: src/main/options.c:1106
#, c-format
msgid "Try `%s --help' for more information."
msgstr "Suorita `%s --help' saadaksesi lisätietoja."
#: src/main/options.c:1058
#: src/main/options.c:1108
#, c-format
msgid "Try `%s -h' for more information."
msgstr "Suorita `%s -h' saadaksesi lisätietoja."
#: src/main/options.c:1089
#: src/main/options.c:1139
msgid ""
"cannot use line mode or transfer modifier options when watching file "
"descriptors"
msgstr ""
#: src/main/options.c:1098
#: src/main/options.c:1148
msgid "cannot use cursor positioning when watching file descriptors"
msgstr ""
#: src/main/options.c:1107
#: src/main/options.c:1157
msgid "cannot use remote control when watching file descriptors"
msgstr ""
#: src/main/options.c:1116
#: src/main/options.c:1166
msgid "cannot use remote query when watching file descriptors"
msgstr ""
#: src/main/options.c:1125
#: src/main/options.c:1175
msgid "cannot transfer files when watching file descriptors"
msgstr ""
#: src/main/options.c:1150
#: src/main/options.c:1200
msgid "not available on systems without /proc/self/fdinfo"
msgstr ""
#: src/main/options.c:1162
#: src/main/options.c:1212
msgid "cannot use remote control and remote query together"
msgstr ""
#: src/main/options.c:1189
#: src/main/options.c:1239
msgid "files cannot be specified with this option"
msgstr ""
+30 -30
View File
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Report-Msgid-Bugs-To: https://codeberg.org/ivarch/pv/issues\n"
"POT-Creation-Date: 2025-12-15 20:10+0000\n"
"POT-Creation-Date: 2026-03-07 22:21+0000\n"
"PO-Revision-Date: 2025-05-31 08:58+0000\n"
"Last-Translator: milimarg <milimarg@noreply.codeberg.org>\n"
"Language-Team: French <https://translate.codeberg.org/projects/pv/pv/fr/>\n"
@@ -14,9 +14,9 @@ msgstr ""
"From: Andrew Wood <ivarch@ubik>\n"
"Xgettext-Options: --default-domain=pkgbuild --directory=./.pkgdir --add-"
"comments --keyword=_ --keyword=N_\n"
"Files: src/getopt/getopt.c src/getopt/getopt1.c src/version.c src/main/init."
"c src/main/help.c src/main/xpmptr.c src/guts/load.c src/guts/stop.c src/guts/"
"configure.c src/guts/make.c src/guts/install.c src/guts/prefs.c src/ui/"
"Files: src/getopt/getopt.c src/getopt/getopt1.c src/version.c src/main/"
"init.c src/main/help.c src/main/xpmptr.c src/guts/load.c src/guts/stop.c src/"
"guts/configure.c src/guts/make.c src/guts/install.c src/guts/prefs.c src/ui/"
"generate.c src/ui/main.c src/ui/xpm.c src/ui/status.c src/ui/activate.c src/"
"ui/handlers/main.c src/ui/handlers/package.c src/ui/handlers/prefs.c src/ui/"
"handlers/dirsel.c src/ui/handlers/popup.c src/ui/handlers/help.c src/ui/"
@@ -312,81 +312,81 @@ msgstr "(entrée)"
msgid "state allocation failed"
msgstr "échec de l'allocation de mémoire de condition"
#: src/main/options.c:370
#: src/main/options.c:373
msgid "list files may not contain @ lines"
msgstr ""
#: src/main/options.c:391 src/main/options.c:393 src/main/options.c:807
#: src/main/options.c:394 src/main/options.c:396 src/main/options.c:857
msgid "process ID or pid:fd pair expected"
msgstr "ID de processus ou paire pid:fd attendue"
#: src/main/options.c:403 src/main/options.c:405 src/main/options.c:814
#: src/main/options.c:406 src/main/options.c:408 src/main/options.c:864
msgid "invalid process ID"
msgstr "ID de processus non valide"
#: src/main/options.c:448 src/pv/file.c:342
#: src/main/options.c:475 src/pv/file.c:342
msgid "failed to stat file"
msgstr "échec à statuer sur le fichier"
#: src/main/options.c:462
#: src/main/options.c:511
msgid "is a directory"
msgstr "est un répertoire"
#: src/main/options.c:491
#: src/main/options.c:541
msgid "failed to generate sysfs filename"
msgstr "échec de génération du nom de fichier sysfs"
#: src/main/options.c:513
#: src/main/options.c:563
msgid "failed to read sysfs size file"
msgstr "échec de la lecture de la taille du fichier sysfs"
#: src/main/options.c:533
#: src/main/options.c:583
msgid "failed to open block device"
msgstr "échec de l'ouverture du périphérique de bloc"
#: src/main/options.c:543
#: src/main/options.c:593
msgid "failed to determine size of block device"
msgstr "échec de l'évaluation de la taille du périphérique de bloc"
#: src/main/options.c:652
#: src/main/options.c:702
msgid "option structure allocation failed"
msgstr "l'allocation pour la structure d'une option a échoué"
#: src/main/options.c:671
#: src/main/options.c:721
msgid "option structure argv allocation failed"
msgstr "l'allocation pour la structure de l'option argv a échoué"
#: src/main/options.c:723
#: src/main/options.c:773
msgid "numeric value not understood"
msgstr "valeur numérique non comprise"
#: src/main/options.c:743
#: src/main/options.c:793
msgid "integer argument expected"
msgstr "Valeur entière attendue"
#: src/main/options.c:755
#: src/main/options.c:805
msgid "numeric argument expected"
msgstr "Valeur numérique attendue"
#: src/main/options.c:767
#: src/main/options.c:817
msgid "missing filename"
msgstr ""
#: src/main/options.c:795
#: src/main/options.c:845
msgid "missing process name"
msgstr ""
#: src/main/options.c:1056
#: src/main/options.c:1106
#, c-format
msgid "Try `%s --help' for more information."
msgstr "Essayez `%s --help' pour plus d'informations."
#: src/main/options.c:1058
#: src/main/options.c:1108
#, c-format
msgid "Try `%s -h' for more information."
msgstr "Essayez `%s -h' pour plus d'informations."
#: src/main/options.c:1089
#: src/main/options.c:1139
msgid ""
"cannot use line mode or transfer modifier options when watching file "
"descriptors"
@@ -394,37 +394,37 @@ msgstr ""
"impossible d'utiliser le mode ligne ou les options de modificateur de "
"transfert lors de la visualisation des descripteurs de fichiers"
#: src/main/options.c:1098
#: src/main/options.c:1148
msgid "cannot use cursor positioning when watching file descriptors"
msgstr ""
"impossible d'utiliser le positionnement du curseur lors de la visualisation "
"des descripteurs de fichier"
#: src/main/options.c:1107
#: src/main/options.c:1157
msgid "cannot use remote control when watching file descriptors"
msgstr ""
"impossible d'utiliser la télécommande lors de la visualisation des "
"descripteurs de fichiers"
#: src/main/options.c:1116
#: src/main/options.c:1166
msgid "cannot use remote query when watching file descriptors"
msgstr ""
#: src/main/options.c:1125
#: src/main/options.c:1175
msgid "cannot transfer files when watching file descriptors"
msgstr ""
"impossible de transférer des fichiers lorsque vous regardez des descripteurs "
"de fichiers"
#: src/main/options.c:1150
#: src/main/options.c:1200
msgid "not available on systems without /proc/self/fdinfo"
msgstr "non disponible sur les systèmes sans /proc/self/fdinfo"
#: src/main/options.c:1162
#: src/main/options.c:1212
msgid "cannot use remote control and remote query together"
msgstr ""
#: src/main/options.c:1189
#: src/main/options.c:1239
msgid "files cannot be specified with this option"
msgstr ""
+27 -27
View File
@@ -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: 2025-12-15 20:10+0000\n"
"POT-Creation-Date: 2026-03-07 22:21+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"
@@ -291,111 +291,111 @@ msgstr ""
msgid "state allocation failed"
msgstr ""
#: src/main/options.c:370
#: src/main/options.c:373
msgid "list files may not contain @ lines"
msgstr ""
#: src/main/options.c:391 src/main/options.c:393 src/main/options.c:807
#: src/main/options.c:394 src/main/options.c:396 src/main/options.c:857
msgid "process ID or pid:fd pair expected"
msgstr ""
#: src/main/options.c:403 src/main/options.c:405 src/main/options.c:814
#: src/main/options.c:406 src/main/options.c:408 src/main/options.c:864
msgid "invalid process ID"
msgstr ""
#: src/main/options.c:448 src/pv/file.c:342
#: src/main/options.c:475 src/pv/file.c:342
msgid "failed to stat file"
msgstr ""
#: src/main/options.c:462
#: src/main/options.c:511
msgid "is a directory"
msgstr ""
#: src/main/options.c:491
#: src/main/options.c:541
msgid "failed to generate sysfs filename"
msgstr ""
#: src/main/options.c:513
#: src/main/options.c:563
msgid "failed to read sysfs size file"
msgstr ""
#: src/main/options.c:533
#: src/main/options.c:583
msgid "failed to open block device"
msgstr ""
#: src/main/options.c:543
#: src/main/options.c:593
msgid "failed to determine size of block device"
msgstr ""
#: src/main/options.c:652
#: src/main/options.c:702
msgid "option structure allocation failed"
msgstr ""
#: src/main/options.c:671
#: src/main/options.c:721
msgid "option structure argv allocation failed"
msgstr ""
#: src/main/options.c:723
#: src/main/options.c:773
msgid "numeric value not understood"
msgstr ""
#: src/main/options.c:743
#: src/main/options.c:793
msgid "integer argument expected"
msgstr ""
#: src/main/options.c:755
#: src/main/options.c:805
msgid "numeric argument expected"
msgstr ""
#: src/main/options.c:767
#: src/main/options.c:817
msgid "missing filename"
msgstr ""
#: src/main/options.c:795
#: src/main/options.c:845
msgid "missing process name"
msgstr ""
#: src/main/options.c:1056
#: src/main/options.c:1106
#, c-format
msgid "Try `%s --help' for more information."
msgstr ""
#: src/main/options.c:1058
#: src/main/options.c:1108
#, c-format
msgid "Try `%s -h' for more information."
msgstr ""
#: src/main/options.c:1089
#: src/main/options.c:1139
msgid ""
"cannot use line mode or transfer modifier options when watching file "
"descriptors"
msgstr ""
#: src/main/options.c:1098
#: src/main/options.c:1148
msgid "cannot use cursor positioning when watching file descriptors"
msgstr ""
#: src/main/options.c:1107
#: src/main/options.c:1157
msgid "cannot use remote control when watching file descriptors"
msgstr ""
#: src/main/options.c:1116
#: src/main/options.c:1166
msgid "cannot use remote query when watching file descriptors"
msgstr ""
#: src/main/options.c:1125
#: src/main/options.c:1175
msgid "cannot transfer files when watching file descriptors"
msgstr ""
#: src/main/options.c:1150
#: src/main/options.c:1200
msgid "not available on systems without /proc/self/fdinfo"
msgstr ""
#: src/main/options.c:1162
#: src/main/options.c:1212
msgid "cannot use remote control and remote query together"
msgstr ""
#: src/main/options.c:1189
#: src/main/options.c:1239
msgid "files cannot be specified with this option"
msgstr ""
+27 -27
View File
@@ -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: 2025-12-15 20:10+0000\n"
"POT-Creation-Date: 2026-03-07 22:21+0000\n"
"PO-Revision-Date: 2025-10-02 13:23+0000\n"
"Last-Translator: Coral Pink <coralpink@noreply.codeberg.org>\n"
"Language-Team: Polish <https://translate.codeberg.org/projects/pv/pv/pl/>\n"
@@ -306,81 +306,81 @@ msgstr "(wejście)"
msgid "state allocation failed"
msgstr "alokacja stanu programu nie powiodła się"
#: src/main/options.c:370
#: src/main/options.c:373
msgid "list files may not contain @ lines"
msgstr ""
#: src/main/options.c:391 src/main/options.c:393 src/main/options.c:807
#: src/main/options.c:394 src/main/options.c:396 src/main/options.c:857
msgid "process ID or pid:fd pair expected"
msgstr "oczekiwany proces ID lub para PID:FD"
#: src/main/options.c:403 src/main/options.c:405 src/main/options.c:814
#: src/main/options.c:406 src/main/options.c:408 src/main/options.c:864
msgid "invalid process ID"
msgstr "niepoprawne ID procesu"
#: src/main/options.c:448 src/pv/file.c:342
#: src/main/options.c:475 src/pv/file.c:342
msgid "failed to stat file"
msgstr "nie udało się wykonać operacji stat na pliku"
#: src/main/options.c:462
#: src/main/options.c:511
msgid "is a directory"
msgstr "jest katalogiem"
#: src/main/options.c:491
#: src/main/options.c:541
msgid "failed to generate sysfs filename"
msgstr "nie udało się wygenerować nazwy pliku dla sysfs"
#: src/main/options.c:513
#: src/main/options.c:563
msgid "failed to read sysfs size file"
msgstr "nie udało się odczytać rozmiaru pliku sysfs"
#: src/main/options.c:533
#: src/main/options.c:583
msgid "failed to open block device"
msgstr "nie udało się otworzyć urządzenia blokowego"
#: src/main/options.c:543
#: src/main/options.c:593
msgid "failed to determine size of block device"
msgstr "nie udało się ustalić rozmiaru urządzenia blokowego"
#: src/main/options.c:652
#: src/main/options.c:702
msgid "option structure allocation failed"
msgstr "nie udało się zaalokować struktur opcji"
#: src/main/options.c:671
#: src/main/options.c:721
msgid "option structure argv allocation failed"
msgstr "nie udało się zaalokować struktur opcji argv"
#: src/main/options.c:723
#: src/main/options.c:773
msgid "numeric value not understood"
msgstr "wartość liczbowa niezrozumiana"
#: src/main/options.c:743
#: src/main/options.c:793
msgid "integer argument expected"
msgstr "oczekiwany argument typu liczby całkowitej"
#: src/main/options.c:755
#: src/main/options.c:805
msgid "numeric argument expected"
msgstr "oczekiwany argument liczbowy"
#: src/main/options.c:767
#: src/main/options.c:817
msgid "missing filename"
msgstr ""
#: src/main/options.c:795
#: src/main/options.c:845
msgid "missing process name"
msgstr ""
#: src/main/options.c:1056
#: src/main/options.c:1106
#, c-format
msgid "Try `%s --help' for more information."
msgstr "Spróbuj `%s --help' by uzyskać więcej informacji."
#: src/main/options.c:1058
#: src/main/options.c:1108
#, c-format
msgid "Try `%s -h' for more information."
msgstr "Spróbuj `%s -h' by uzyskać więcej informacji."
#: src/main/options.c:1089
#: src/main/options.c:1139
msgid ""
"cannot use line mode or transfer modifier options when watching file "
"descriptors"
@@ -388,35 +388,35 @@ msgstr ""
"nie można użyć trybu zliczania linii lub opcji modyfikujących przesył "
"łącznie z opcją obserwowania deskryptorów plików"
#: src/main/options.c:1098
#: src/main/options.c:1148
msgid "cannot use cursor positioning when watching file descriptors"
msgstr ""
"nie można użyć pozycjonowania kursora łącznie z opcją obserwowania "
"deskryptorów plików"
#: src/main/options.c:1107
#: src/main/options.c:1157
msgid "cannot use remote control when watching file descriptors"
msgstr ""
"nie można użyć opcji zaktualizowania ustawień procesu łącznie z opcją "
"obserwowania deskryptorów plików"
#: src/main/options.c:1116
#: src/main/options.c:1166
msgid "cannot use remote query when watching file descriptors"
msgstr ""
#: src/main/options.c:1125
#: src/main/options.c:1175
msgid "cannot transfer files when watching file descriptors"
msgstr "nie można przesyłać plików z opcją obserwowania deskryptorów plików"
#: src/main/options.c:1150
#: src/main/options.c:1200
msgid "not available on systems without /proc/self/fdinfo"
msgstr "niedostępne na systemach bez /proc/self/fdinfo"
#: src/main/options.c:1162
#: src/main/options.c:1212
msgid "cannot use remote control and remote query together"
msgstr ""
#: src/main/options.c:1189
#: src/main/options.c:1239
msgid "files cannot be specified with this option"
msgstr ""
+27 -27
View File
@@ -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: 2025-12-15 20:10+0000\n"
"POT-Creation-Date: 2026-03-07 22:21+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"
@@ -297,81 +297,81 @@ msgstr ""
msgid "state allocation failed"
msgstr "alocação de memória de status falhou"
#: src/main/options.c:370
#: src/main/options.c:373
msgid "list files may not contain @ lines"
msgstr ""
#: src/main/options.c:391 src/main/options.c:393 src/main/options.c:807
#: src/main/options.c:394 src/main/options.c:396 src/main/options.c:857
msgid "process ID or pid:fd pair expected"
msgstr "ID do processo ou par pid:fd esperado"
#: src/main/options.c:403 src/main/options.c:405 src/main/options.c:814
#: src/main/options.c:406 src/main/options.c:408 src/main/options.c:864
msgid "invalid process ID"
msgstr "ID de processo inválido"
#: src/main/options.c:448 src/pv/file.c:342
#: src/main/options.c:475 src/pv/file.c:342
msgid "failed to stat file"
msgstr "erro obtendo informações do arquivo"
#: src/main/options.c:462
#: src/main/options.c:511
msgid "is a directory"
msgstr ""
#: src/main/options.c:491
#: src/main/options.c:541
msgid "failed to generate sysfs filename"
msgstr ""
#: src/main/options.c:513
#: src/main/options.c:563
msgid "failed to read sysfs size file"
msgstr ""
#: src/main/options.c:533
#: src/main/options.c:583
msgid "failed to open block device"
msgstr ""
#: src/main/options.c:543
#: src/main/options.c:593
msgid "failed to determine size of block device"
msgstr ""
#: src/main/options.c:652
#: src/main/options.c:702
msgid "option structure allocation failed"
msgstr "erro na alocação da estrutura de opções"
#: src/main/options.c:671
#: src/main/options.c:721
msgid "option structure argv allocation failed"
msgstr "erro na alocação da estrutura de opções argv"
#: src/main/options.c:723
#: src/main/options.c:773
msgid "numeric value not understood"
msgstr ""
#: src/main/options.c:743
#: src/main/options.c:793
msgid "integer argument expected"
msgstr "argumento inteiro esperado"
#: src/main/options.c:755
#: src/main/options.c:805
msgid "numeric argument expected"
msgstr "argumento numérico esperado"
#: src/main/options.c:767
#: src/main/options.c:817
msgid "missing filename"
msgstr ""
#: src/main/options.c:795
#: src/main/options.c:845
msgid "missing process name"
msgstr ""
#: src/main/options.c:1056
#: src/main/options.c:1106
#, c-format
msgid "Try `%s --help' for more information."
msgstr "Tente `%s --help' para maiores informações."
#: src/main/options.c:1058
#: src/main/options.c:1108
#, c-format
msgid "Try `%s -h' for more information."
msgstr "Tente `%s -h' para maiores informações."
#: src/main/options.c:1089
#: src/main/options.c:1139
msgid ""
"cannot use line mode or transfer modifier options when watching file "
"descriptors"
@@ -379,33 +379,33 @@ msgstr ""
"não pode usar o modo de linha ou opções de modificador de transferência ao "
"assistir os descritores de arquivo"
#: src/main/options.c:1098
#: src/main/options.c:1148
msgid "cannot use cursor positioning when watching file descriptors"
msgstr ""
"não pode usar o posicionamento do cursor ao observar os descritores de "
"arquivo"
#: src/main/options.c:1107
#: src/main/options.c:1157
msgid "cannot use remote control when watching file descriptors"
msgstr "não pode usar o controle remoto ao assistir os descritores de arquivo"
#: src/main/options.c:1116
#: src/main/options.c:1166
msgid "cannot use remote query when watching file descriptors"
msgstr ""
#: src/main/options.c:1125
#: src/main/options.c:1175
msgid "cannot transfer files when watching file descriptors"
msgstr "não pode transferir arquivos ao assistir descritores de arquivo"
#: src/main/options.c:1150
#: src/main/options.c:1200
msgid "not available on systems without /proc/self/fdinfo"
msgstr "não disponível em sistemas sem /proc/self/fdinfo"
#: src/main/options.c:1162
#: src/main/options.c:1212
msgid "cannot use remote control and remote query together"
msgstr ""
#: src/main/options.c:1189
#: src/main/options.c:1239
msgid "files cannot be specified with this option"
msgstr ""
+27 -27
View File
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Report-Msgid-Bugs-To: https://codeberg.org/ivarch/pv/issues\n"
"POT-Creation-Date: 2025-12-15 20:10+0000\n"
"POT-Creation-Date: 2026-03-07 22:21+0000\n"
"PO-Revision-Date: 2025-01-15 19:08+0000\n"
"Last-Translator: 0ko <0ko@users.noreply.translate.codeberg.org>\n"
"Language-Team: Russian <https://translate.codeberg.org/projects/pv/pv/ru/>\n"
@@ -294,111 +294,111 @@ msgstr "(ввод)"
msgid "state allocation failed"
msgstr ""
#: src/main/options.c:370
#: src/main/options.c:373
msgid "list files may not contain @ lines"
msgstr ""
#: src/main/options.c:391 src/main/options.c:393 src/main/options.c:807
#: src/main/options.c:394 src/main/options.c:396 src/main/options.c:857
msgid "process ID or pid:fd pair expected"
msgstr "ожидался ИД процесса или пара ИДпр:ДФ"
#: src/main/options.c:403 src/main/options.c:405 src/main/options.c:814
#: src/main/options.c:406 src/main/options.c:408 src/main/options.c:864
msgid "invalid process ID"
msgstr "неправильный ИД процесса"
#: src/main/options.c:448 src/pv/file.c:342
#: src/main/options.c:475 src/pv/file.c:342
msgid "failed to stat file"
msgstr "не удалось получить информацию о файле"
#: src/main/options.c:462
#: src/main/options.c:511
msgid "is a directory"
msgstr "является каталогом"
#: src/main/options.c:491
#: src/main/options.c:541
msgid "failed to generate sysfs filename"
msgstr "не удалось создать имя файла sysfs"
#: src/main/options.c:513
#: src/main/options.c:563
msgid "failed to read sysfs size file"
msgstr "не удалось узнать размер файла sysfs"
#: src/main/options.c:533
#: src/main/options.c:583
msgid "failed to open block device"
msgstr "не удалось открыть блочное устройство"
#: src/main/options.c:543
#: src/main/options.c:593
msgid "failed to determine size of block device"
msgstr "не удалось определить размер блочного устройства"
#: src/main/options.c:652
#: src/main/options.c:702
msgid "option structure allocation failed"
msgstr "не удалось выделить память для структуры опций"
#: src/main/options.c:671
#: src/main/options.c:721
msgid "option structure argv allocation failed"
msgstr "не удалось выделить память для структуры опций argv"
#: src/main/options.c:723
#: src/main/options.c:773
msgid "numeric value not understood"
msgstr "число не распознано"
#: src/main/options.c:743
#: src/main/options.c:793
msgid "integer argument expected"
msgstr "ожидалось целое число"
#: src/main/options.c:755
#: src/main/options.c:805
msgid "numeric argument expected"
msgstr "ожидалось число"
#: src/main/options.c:767
#: src/main/options.c:817
msgid "missing filename"
msgstr ""
#: src/main/options.c:795
#: src/main/options.c:845
msgid "missing process name"
msgstr ""
#: src/main/options.c:1056
#: src/main/options.c:1106
#, c-format
msgid "Try `%s --help' for more information."
msgstr "Выполните `%s --help' для получения подробностей."
#: src/main/options.c:1058
#: src/main/options.c:1108
#, c-format
msgid "Try `%s -h' for more information."
msgstr "Выполните `%s -h' для получения подробностей."
#: src/main/options.c:1089
#: src/main/options.c:1139
msgid ""
"cannot use line mode or transfer modifier options when watching file "
"descriptors"
msgstr ""
#: src/main/options.c:1098
#: src/main/options.c:1148
msgid "cannot use cursor positioning when watching file descriptors"
msgstr ""
#: src/main/options.c:1107
#: src/main/options.c:1157
msgid "cannot use remote control when watching file descriptors"
msgstr "удалённое управление невозможно при отслеживании дескрипторов файлов"
#: src/main/options.c:1116
#: src/main/options.c:1166
msgid "cannot use remote query when watching file descriptors"
msgstr ""
#: src/main/options.c:1125
#: src/main/options.c:1175
msgid "cannot transfer files when watching file descriptors"
msgstr "передача файлов невозможна при отслеживании дескрипторов файлов"
#: src/main/options.c:1150
#: src/main/options.c:1200
msgid "not available on systems without /proc/self/fdinfo"
msgstr "невозможно на системах без /proc/self/fdinfo"
#: src/main/options.c:1162
#: src/main/options.c:1212
msgid "cannot use remote control and remote query together"
msgstr ""
#: src/main/options.c:1189
#: src/main/options.c:1239
msgid "files cannot be specified with this option"
msgstr ""
+27 -27
View File
@@ -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: 2025-12-15 20:10+0000\n"
"POT-Creation-Date: 2026-03-07 22:21+0000\n"
"PO-Revision-Date: 2025-10-05 20:09+0000\n"
"Last-Translator: Oğuz Ersen <ersen@noreply.codeberg.org>\n"
"Language-Team: Turkish <https://translate.codeberg.org/projects/pv/pv/tr/>\n"
@@ -294,81 +294,81 @@ msgstr "(giriş)"
msgid "state allocation failed"
msgstr "durum tahsisi başarısız oldu"
#: src/main/options.c:370
#: src/main/options.c:373
msgid "list files may not contain @ lines"
msgstr ""
#: src/main/options.c:391 src/main/options.c:393 src/main/options.c:807
#: src/main/options.c:394 src/main/options.c:396 src/main/options.c:857
msgid "process ID or pid:fd pair expected"
msgstr "süreç kimliği (ID) veya pid:fd çifti bekleniyor"
#: src/main/options.c:403 src/main/options.c:405 src/main/options.c:814
#: src/main/options.c:406 src/main/options.c:408 src/main/options.c:864
msgid "invalid process ID"
msgstr "geçersiz süreç kimliği (ID)"
#: src/main/options.c:448 src/pv/file.c:342
#: src/main/options.c:475 src/pv/file.c:342
msgid "failed to stat file"
msgstr "dosya statüsünde başarısız oldu"
#: src/main/options.c:462
#: src/main/options.c:511
msgid "is a directory"
msgstr "bir dizindir"
#: src/main/options.c:491
#: src/main/options.c:541
msgid "failed to generate sysfs filename"
msgstr "sysfs dosya adı oluşturulamadı"
#: src/main/options.c:513
#: src/main/options.c:563
msgid "failed to read sysfs size file"
msgstr "sysfs boyut dosyası okunamadı"
#: src/main/options.c:533
#: src/main/options.c:583
msgid "failed to open block device"
msgstr "blok aygıtı açılamadı"
#: src/main/options.c:543
#: src/main/options.c:593
msgid "failed to determine size of block device"
msgstr "blok aygıtının boyutu belirlenemedi"
#: src/main/options.c:652
#: src/main/options.c:702
msgid "option structure allocation failed"
msgstr "seçenek yapısı tahsisi başarısız oldu"
#: src/main/options.c:671
#: src/main/options.c:721
msgid "option structure argv allocation failed"
msgstr "seçenek yapısı argv tahsisi başarısız oldu"
#: src/main/options.c:723
#: src/main/options.c:773
msgid "numeric value not understood"
msgstr "sayısal değer anlaşılmadı"
#: src/main/options.c:743
#: src/main/options.c:793
msgid "integer argument expected"
msgstr "tamsayı bağımsız değişkeni bekleniyor"
#: src/main/options.c:755
#: src/main/options.c:805
msgid "numeric argument expected"
msgstr "sayısal bağımsız değişken bekleniyor"
#: src/main/options.c:767
#: src/main/options.c:817
msgid "missing filename"
msgstr ""
#: src/main/options.c:795
#: src/main/options.c:845
msgid "missing process name"
msgstr ""
#: src/main/options.c:1056
#: src/main/options.c:1106
#, c-format
msgid "Try `%s --help' for more information."
msgstr "Daha fazla bilgi için `%s --help' seçeneğini deneyin."
#: src/main/options.c:1058
#: src/main/options.c:1108
#, c-format
msgid "Try `%s -h' for more information."
msgstr "Daha fazla bilgi için `%s -h' seçeneğini deneyin."
#: src/main/options.c:1089
#: src/main/options.c:1139
msgid ""
"cannot use line mode or transfer modifier options when watching file "
"descriptors"
@@ -376,31 +376,31 @@ msgstr ""
"dosya tanımlayıcılarını izlerken satır modu veya aktarım değiştirici "
"seçeneklerini kullanamaz"
#: src/main/options.c:1098
#: src/main/options.c:1148
msgid "cannot use cursor positioning when watching file descriptors"
msgstr "dosya tanımlayıcılarını izlerken imleç konumlandırmayı kullanamaz"
#: src/main/options.c:1107
#: src/main/options.c:1157
msgid "cannot use remote control when watching file descriptors"
msgstr "dosya tanımlayıcılarını izlerken uzaktan kumandayı kullanamaz"
#: src/main/options.c:1116
#: src/main/options.c:1166
msgid "cannot use remote query when watching file descriptors"
msgstr ""
#: src/main/options.c:1125
#: src/main/options.c:1175
msgid "cannot transfer files when watching file descriptors"
msgstr "dosya tanımlayıcıları izlenirken dosya aktarılamıyor"
#: src/main/options.c:1150
#: src/main/options.c:1200
msgid "not available on systems without /proc/self/fdinfo"
msgstr "/proc/self/fdinfo olmayan sistemlerde kullanılamaz"
#: src/main/options.c:1162
#: src/main/options.c:1212
msgid "cannot use remote control and remote query together"
msgstr ""
#: src/main/options.c:1189
#: src/main/options.c:1239
msgid "files cannot be specified with this option"
msgstr ""
+63 -47
View File
@@ -10,10 +10,10 @@
language is requested. */
#undef ENABLE_NLS
/* Define to 1 if you have the `alarm' function. */
/* Define to 1 if you have the 'alarm' function. */
#undef HAVE_ALARM
/* Define to 1 if you have the `basename' function. */
/* Define to 1 if you have the 'basename' function. */
#undef HAVE_BASENAME
/* Define to 1 if you have the Mac OS X function
@@ -24,39 +24,42 @@
the CoreFoundation framework. */
#undef HAVE_CFPREFERENCESCOPYAPPVALUE
/* Define to 1 if you have the `clock_gettime' function. */
/* Define to 1 if you have the 'clock_gettime' function. */
#undef HAVE_CLOCK_GETTIME
/* Define if the GNU dcgettext() function is already present or preinstalled.
*/
#undef HAVE_DCGETTEXT
/* Define to 1 if you have the declaration of `SA_SIGINFO', and to 0 if you
/* Define to 1 if you have the declaration of 'SA_SIGINFO', and to 0 if you
don't. */
#undef HAVE_DECL_SA_SIGINFO
/* Define to 1 if you have the `dup2' function. */
/* Define to 1 if you have the 'dup2' function. */
#undef HAVE_DUP2
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* Define to 1 if you have the `fdatasync' function. */
/* Define to 1 if you have the 'fdatasync' function. */
#undef HAVE_FDATASYNC
/* Define to 1 if you have the `fmod' function. */
/* Define to 1 if you have the 'fmod' function. */
#undef HAVE_FMOD
/* Define to 1 if you have the `fpathconf' function. */
/* Define to 1 if you have the 'fpathconf' function. */
#undef HAVE_FPATHCONF
/* Define to 1 if you have the `getcwd' function. */
/* Define to 1 if you have the <ftw.h> header file. */
#undef HAVE_FTW_H
/* Define to 1 if you have the 'getcwd' function. */
#undef HAVE_GETCWD
/* Define to 1 if you have the <getopt.h> header file. */
#undef HAVE_GETOPT_H
/* Define to 1 if you have the `getopt_long' function. */
/* Define to 1 if you have the 'getopt_long' function. */
#undef HAVE_GETOPT_LONG
/* Define if the GNU gettext() function is already present or preinstalled. */
@@ -89,52 +92,55 @@
/* Define to 1 if you have the <math.h> header file. */
#undef HAVE_MATH_H
/* Define to 1 if you have the `memcpy' function. */
/* Define to 1 if you have the 'memcpy' function. */
#undef HAVE_MEMCPY
/* Define to 1 if you have the `memmove' function. */
/* Define to 1 if you have the 'memmove' function. */
#undef HAVE_MEMMOVE
/* Define to 1 if you have the `memrchr' function. */
/* Define to 1 if you have the 'memrchr' function. */
#undef HAVE_MEMRCHR
/* Define to 1 if you have the `memset' function. */
/* Define to 1 if you have the 'memset' function. */
#undef HAVE_MEMSET
/* Define to 1 if you have the <minix/config.h> header file. */
#undef HAVE_MINIX_CONFIG_H
/* Define to 1 if you have the `mkdir' function. */
/* Define to 1 if you have the 'mkdir' function. */
#undef HAVE_MKDIR
/* Define to 1 if you have the `nanosleep' function. */
/* Define to 1 if you have the 'nanosleep' function. */
#undef HAVE_NANOSLEEP
/* Define to 1 if you have the `posix_fadvise' function. */
/* Define to 1 if you have the 'nftw' function. */
#undef HAVE_NFTW
/* Define to 1 if you have the 'posix_fadvise' function. */
#undef HAVE_POSIX_FADVISE
/* Define to 1 if you have the `posix_memalign' function. */
/* Define to 1 if you have the 'posix_memalign' function. */
#undef HAVE_POSIX_MEMALIGN
/* Define to 1 if you have the `select' function. */
/* Define to 1 if you have the 'select' function. */
#undef HAVE_SELECT
/* Define to 1 if you have the `setitimer' function. */
/* Define to 1 if you have the 'setitimer' function. */
#undef HAVE_SETITIMER
/* Define to 1 if you have the `setlocale' function. */
/* Define to 1 if you have the 'setlocale' function. */
#undef HAVE_SETLOCALE
/* Define to 1 if you have the `setproctitle' function. */
/* Define to 1 if you have the 'setproctitle' function. */
#undef HAVE_SETPROCTITLE
/* Define to 1 if you have the `shmget' function. */
/* Define to 1 if you have the 'shmget' function. */
#undef HAVE_SHMGET
/* Define to 1 if you have the `splice' function. */
/* Define to 1 if you have the 'splice' function. */
#undef HAVE_SPLICE
/* Define to 1 if you have the `sqrtl' function. */
/* Define to 1 if you have the 'sqrtl' function. */
#undef HAVE_SQRTL
/* Define to 1 if stdbool.h conforms to C99. */
@@ -149,10 +155,10 @@
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the `strchr' function. */
/* Define to 1 if you have the 'strchr' function. */
#undef HAVE_STRCHR
/* Define to 1 if you have the `strerror' function. */
/* Define to 1 if you have the 'strerror' function. */
#undef HAVE_STRERROR
/* Define to 1 if you have the <strings.h> header file. */
@@ -161,25 +167,25 @@
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the `strlcat' function. */
/* Define to 1 if you have the 'strlcat' function. */
#undef HAVE_STRLCAT
/* Define to 1 if you have the `strrchr' function. */
/* Define to 1 if you have the 'strrchr' function. */
#undef HAVE_STRRCHR
/* Define to 1 if you have the `strstr' function. */
/* Define to 1 if you have the 'strstr' function. */
#undef HAVE_STRSTR
/* Define to 1 if you have the `strtoul' function. */
/* Define to 1 if you have the 'strtoul' function. */
#undef HAVE_STRTOUL
/* Define to 1 if `st_blksize' is a member of `struct stat'. */
/* Define to 1 if 'st_blksize' is a member of 'struct stat'. */
#undef HAVE_STRUCT_STAT_ST_BLKSIZE
/* Define to 1 if `st_rdev' is a member of `struct stat'. */
/* Define to 1 if 'st_rdev' is a member of 'struct stat'. */
#undef HAVE_STRUCT_STAT_ST_RDEV
/* Define to 1 if you have the `sysconf' function. */
/* Define to 1 if you have the 'sysconf' function. */
#undef HAVE_SYSCONF
/* Define to 1 if you have the <sys/file.h> header file. */
@@ -218,7 +224,7 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if you have the `vsnprintf' function. */
/* Define to 1 if you have the 'vsnprintf' function. */
#undef HAVE_VSNPRINTF
/* Define to 1 if you have the <wchar.h> header file. */
@@ -227,7 +233,7 @@
/* Define to 1 if you have the <wctype.h> header file. */
#undef HAVE_WCTYPE_H
/* Define to 1 if the system has the type `_Bool'. */
/* Define to 1 if the system has the type '_Bool'. */
#undef HAVE__BOOL
/* Name of package */
@@ -254,12 +260,12 @@
/* Signal handlers can determine the sending PID */
#undef SIGINFO_PROVIDES_PID
/* Define to 1 if all of the C90 standard headers exist (not just the ones
/* Define to 1 if all of the C89 standard headers exist (not just the ones
required in a freestanding environment). This macro is provided for
backward compatibility; new code need not use it. */
#undef STDC_HEADERS
/* Enable extensions on AIX 3, Interix. */
/* Enable extensions on AIX, Interix, z/OS. */
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
@@ -320,11 +326,15 @@
#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
# undef __STDC_WANT_IEC_60559_DFP_EXT__
#endif
/* Enable extensions specified by C23 Annex F. */
#ifndef __STDC_WANT_IEC_60559_EXT__
# undef __STDC_WANT_IEC_60559_EXT__
#endif
/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */
#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
# undef __STDC_WANT_IEC_60559_FUNCS_EXT__
#endif
/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */
/* Enable extensions specified by C23 Annex H and ISO/IEC TS 18661-3:2015. */
#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
# undef __STDC_WANT_IEC_60559_TYPES_EXT__
#endif
@@ -353,35 +363,41 @@
/* Number of bits in a file offset, on hosts where this is settable. */
#undef _FILE_OFFSET_BITS
/* Define for large files, on AIX-style hosts. */
/* Define to 1 on platforms where this makes off_t a 64-bit type. */
#undef _LARGE_FILES
/* Define to empty if `const' does not conform to ANSI C. */
/* Number of bits in time_t, on hosts where this is settable. */
#undef _TIME_BITS
/* Define to 1 on platforms where this makes time_t a 64-bit type. */
#undef __MINGW_USE_VC2005_COMPAT
/* Define to empty if 'const' does not conform to ANSI C. */
#undef const
/* Define to `int' if <sys/types.h> doesn't define. */
/* Define as 'int' if <sys/types.h> doesn't define. */
#undef gid_t
/* Define to the type of a signed integer type of width exactly 32 bits if
such a type exists and the standard includes do not define it. */
#undef int32_t
/* Define to `int' if <sys/types.h> does not define. */
/* Define to 'int' if <sys/types.h> does not define. */
#undef mode_t
/* Define to `long int' if <sys/types.h> does not define. */
/* Define to 'long int' if <sys/types.h> does not define. */
#undef off_t
/* Define as a signed integer type capable of holding a process identifier. */
#undef pid_t
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* Define as 'unsigned int' if <stddef.h> doesn't define. */
#undef size_t
/* Define to `int' if <sys/types.h> does not define. */
/* Define as 'int' if <sys/types.h> doesn't define. */
#undef ssize_t
/* Define to `int' if <sys/types.h> doesn't define. */
/* Define as 'int' if <sys/types.h> doesn't define. */
#undef uid_t
#include "config-aux.h"
+50
View File
@@ -31,6 +31,9 @@
#ifdef HAVE_GETOPT_H
#include <getopt.h>
#endif
#ifdef HAVE_FTW_H
#include <ftw.h>
#endif
void display_help(void);
@@ -412,12 +415,36 @@ static bool opts_watchfd_parse(opts_t opts, const char *argument, /*@null@ */ co
}
#ifdef HAVE_NFTW
/*
* Callback function for nftw() to add the size of the given file to the
* total size so far.
*/
static off_t dir_tree_file_size_so_far = 0;
static int dir_tree_total_file_size( /*@unused@ */ __attribute__((unused))
const char *fpath, const struct stat *sb, int typeflag, /*@unused@ */
__attribute__((unused))
struct FTW *ftwbuf)
{
if (typeflag != FTW_F)
return 0;
if (NULL == sb)
return 0;
dir_tree_file_size_so_far += (off_t) (sb->st_size);
return 0;
}
#endif /* HAVE_NFTW */
/*
* Set opts->size from the size of the file whose name is size_file,
* returning false (and reporting the error) if there is a problem.
*
* If size_file points to a block device, the size of the block device is
* used.
*
* If size_file points to a directory, opts->size is set to the sum of the
* sizes of all regular files under that directory, if nftw() is available.
*/
static bool opts_use_size_of_file(opts_t opts, const char *size_file)
{
@@ -456,6 +483,28 @@ static bool opts_use_size_of_file(opts_t opts, const char *size_file)
return true;
}
#ifdef HAVE_NFTW
/* This was a directory - use the size of all files under it. */
if (S_ISDIR((mode_t) (sb.st_mode))) {
int rc_nftw;
dir_tree_file_size_so_far = 0;
/* TODO: get max fds rather than just using 1024. */
rc_nftw = nftw(size_file, dir_tree_total_file_size, 1024, 0
#ifdef FTW_PHYS
| FTW_PHYS
#endif
);
if (rc_nftw < 0) {
fprintf(stderr, "%s: %s: %s\n", opts->program_name, size_file, strerror(errno));
return false;
}
opts->size = dir_tree_file_size_so_far;
return true;
}
#else /* HAVE_NFTW */
/* This was a directory - report an error. */
if (S_ISDIR((mode_t) (sb.st_mode))) {
/*@-mustfreefresh@ *//* see above */
@@ -463,6 +512,7 @@ static bool opts_use_size_of_file(opts_t opts, const char *size_file)
return false;
/*@+mustfreefresh@ */
}
#endif /* !HAVE_NFTW */
/* This was not a block device - just use the size and return. */
if (!S_ISBLK((mode_t) (sb.st_mode))) {
+67
View File
@@ -0,0 +1,67 @@
#!/bin/sh
#
# Similar to the "--size" check but, instead, using directory's size with
# "--size @".
# Allow all tests to be skipped, e.g. during a release build
test "${SKIP_ALL_TESTS}" = "1" && exit 77
true "${testSubject:?not set - call this from 'make check'}"
true "${workFile1:?not set - call this from 'make check'}"
true "${workFile2:?not set - call this from 'make check'}"
# Process 100 bytes at 100 bytes per second, interval 0.1 seconds, with the
# size set from a directory containing 10 files of $1/10 bytes, and
# expecting a percentage of $2 at the end.
sizeCheck () {
# Make a directory containing 10 files of $1/10 bytes each.
rm -rf "${workFile2}"
mkdir "${workFile2}"
mkdir "${workFile2}/subdir"
s="$1"
s=$((s/10))
for f in 1 2 3 4 5; do
dd if=/dev/zero bs="$s" count=1 2>/dev/null >"${workFile2}/$f"
dd if=/dev/zero bs="$s" count=1 2>/dev/null >"${workFile2}/subdir/$f"
done
# Run 100 bytes through the program, using the reference directory's
# total size as the percentage reference.
dd if=/dev/zero bs=100 count=1 2>/dev/null \
| "${testSubject}" -s "@${workFile2}" -n -i 0.1 -L 100 >/dev/null 2>"${workFile1}"
# If "-s @<directory>" is unsupported, skip the test.
if test $? -eq 64; then
rm -rf "${workFile2}"
echo 'not available on this build'
exit 77
fi
rm -rf "${workFile2}"
lineCount=$(wc -l < "${workFile1}" | tr -dc '0-9')
finalLine=$(sed -n '$p' < "${workFile1}")
# The number of output lines should be >5 and <13, and the final
# percentage should be $2.
#
if ! test "${lineCount}" -gt 5; then
echo "(reference size=$1) fewer than 6 output lines (${lineCount})"
exit 1
fi
if ! test "${lineCount}" -lt 13; then
echo "(reference size=$1) more than 12 output lines (${lineCount})"
exit 1
fi
if ! test "${finalLine}" = "$2"; then
echo "(reference size=$1): final percentage was not $2 (${finalLine})"
cat "${workFile1}"
exit 1
fi
}
sizeCheck 100 100
sizeCheck 200 50
sizeCheck 50 200
exit 0