28 Commits
Author SHA1 Message Date
Andrew Wood d28d2f3155 Address the splint warning due to not recognising strlcat(). 2026-03-08 11:23:08 +00:00
Andrew Wood 9566e7d7ea Run through "make indent" for consistency. 2026-03-08 11:21:38 +00:00
Andrew Wood c39601bbb2 Datestamp updates. 2026-03-08 11:20:54 +00:00
Andrew Wood e3fcc6ae71 Commit to release date. 2026-03-08 11:19:21 +00:00
Andrew Wood 9c18fecb98 Acknowledge #179. 2026-03-08 11:10:10 +00:00
Andrew Wood 521391a495 Version bump. 2026-03-07 23:23:35 +00:00
Andrew Wood f65caacfca Version bump, and note the change to "--size @x" (#179). 2026-03-07 23:23:13 +00:00
Andrew Wood 0a27a85b4a Update the copyright years. 2026-03-07 23:20:20 +00:00
Andrew Wood d186d618e3 Look up the right maxfds value to use with nftw() for the current system (#179). 2026-03-07 23:15:09 +00:00
Andrew Wood ae97565e13 Message line number updates. 2026-03-07 23:14:23 +00:00
Andrew Wood d028d5165c Make the gettext macros behave on Debian 13. 2026-03-07 22:34:28 +00:00
Andrew Wood e17f64fce7 Allow "--size @dir" to read the size of all files under "dir" (#179). 2026-03-07 22:23:10 +00:00
Andrew Wood e4bc770054 Timestamp update. 2025-12-15 20:11:17 +00:00
Andrew Wood a890e8e0c8 Update version and release date. 2025-12-15 20:09:56 +00:00
Andrew Wood 3af38221ee Correct the process title truncation. 2025-12-12 23:12:03 +00:00
Andrew Wood 579aebf6a7 Date update. 2025-11-22 15:08:13 +00:00
Andrew Wood d91bf78cac Timestamp update. 2025-11-22 15:08:00 +00:00
Andrew Wood 6e45fe0f8d Update translations count for Finnish. 2025-11-22 15:07:31 +00:00
Andrew Wood 8d7ced4195 Merge pull request 'Translations update from Codeberg Translate' (#175) from translate/pv:weblate-pv-pv into main
Reviewed-on: https://codeberg.org/ivarch/pv/pulls/175
2025-11-22 16:07:08 +01:00
artnayandCodeberg Translate cae6049edd Translated using Weblate (Finnish)
Currently translated at 43.5% (61 of 140 strings)

Translation: pv/pv
Translate-URL: https://translate.codeberg.org/projects/pv/pv/fi/
2025-11-22 15:06:06 +00:00
Andrew Wood 1293f70575 Link to the Debian bug as well, and commit to a release date. 2025-11-22 15:03:53 +00:00
Andrew Wood ff412009da Version bump for #174. 2025-11-21 23:27:47 +00:00
Andrew Wood 10bc46af6e Suppress by source file name rather than function name, since in an LTO build the function name is optimised out (#174). 2025-11-21 23:26:52 +00:00
Andrew Wood 1e5fae3b7b Note the Finnish translations. 2025-11-21 05:53:21 +00:00
Andrew Wood a6f72cf985 Merge pull request 'Translations update from Codeberg Translate' (#173) from translate/pv:weblate-pv-pv into main
Reviewed-on: https://codeberg.org/ivarch/pv/pulls/173
2025-11-21 06:46:29 +01:00
artnayandCodeberg Translate e617b92f2b Translated using Weblate (Finnish)
Currently translated at 24.2% (34 of 140 strings)

Translation: pv/pv
Translate-URL: https://translate.codeberg.org/projects/pv/pv/fi/
2025-11-21 05:43:17 +00:00
Andrew Wood b24771d224 Added empty Georgian language file as requested. 2025-11-20 21:18:50 +00:00
Andrew Wood 6de160192a Renamed to something more specific. 2025-11-15 15:37:43 +00:00
59 changed files with 1221 additions and 437 deletions
+2 -1
View File
@@ -8,7 +8,7 @@ bin_PROGRAMS = pv
dist_doc_DATA = README.md docs/INSTALL docs/COPYING docs/NEWS.md docs/ACKNOWLEDGEMENTS.md docs/DEVELOPERS.md
dist_man1_MANS = docs/pv.1
EXTRA_DIST = docs/pv.1.md docs/benchmark.sh docs/release.cf
EXTRA_DIST = docs/pv.1.md docs/benchmark-rw-syscalls-vs-data.sh docs/release.cf
pv_SOURCES = \
src/main/debug.c \
@@ -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 \
+1 -1
View File
@@ -57,7 +57,7 @@ run it as described above.
See "[docs/ACKNOWLEDGEMENTS.md](./docs/ACKNOWLEDGEMENTS.md)" for a list of
contributors.
Copyright (C) 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew Wood.
Copyright (C) 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2026 Andrew Wood.
License GPLv3+: GNU GPL version 3 or later <https://www.gnu.org/licenses/gpl-3.0.html>.
+5 -2
View File
@@ -1,10 +1,10 @@
dnl Process this file with autoconf to produce a configure script.
dnl
dnl Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew Wood
dnl Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2026 Andrew Wood
dnl
dnl License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
AC_INIT([pv], [1.10.1], [https://codeberg.org/ivarch/pv/issues], [pv], [https://ivarch.com/p/pv])
AC_INIT([pv], [1.10.4], [https://codeberg.org/ivarch/pv/issues], [pv], [https://ivarch.com/p/pv])
AC_CONFIG_SRCDIR([src/include/config.h.in])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_HEADERS([src/include/config.h])
@@ -17,6 +17,7 @@ AC_C_CONST
AC_HEADER_STDBOOL
AC_SYS_LARGEFILE
AM_GNU_GETTEXT_VERSION([0.21])
AM_GNU_GETTEXT_REQUIRE_VERSION([0.21])
AM_GNU_GETTEXT([external])
if test "$USE_NLS" = "yes"; then
CPPFLAGS="$CPPFLAGS -DLOCALEDIR=\\\"\$(localedir)\\\""
@@ -31,6 +32,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 +42,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>]])
+3
View File
@@ -110,11 +110,14 @@ is acknowledged and greatly appreciated:
* [ipaqmaster](https://codeberg.org/ipaqmaster) - investigated 100%-CPU utilisation bug when piping to a command that has exited ([#164](https://codeberg.org/ivarch/pv/issues/164))
* Andriy Galetski, and also [thinrope](https://codeberg.org/thinrope) - suggested the "**--sparse**" option ([#45](https://codeberg.org/ivarch/pv/issues/45))
* [KimHansen](https://codeberg.org/KimHansen) - suggested that "**--watchfd**" should keep its display when the process ends ([#81](https://codeberg.org/ivarch/pv/issues/81))
* [njt](https://codeberg.org/njt) - suggested that "**--size** @*PATH*" should accept directories ([#179](https://codeberg.org/ivarch/pv/issues/179))
Translations provided through [Codeberg Weblate](https://translate.codeberg.org/projects/pv/):
* **Czech**
* [mmatous](https://translate.codeberg.org/user/mmatous/) (135)
* **Finnish**
* [artnay](https://translate.codeberg.org/user/artnay/) (65)
* **French**
* anonymous suggestions (7)
* [milimarg](https://codeberg.org/milimarg) (13)
+13
View File
@@ -1,3 +1,16 @@
### 1.10.4 - 8 March 2026
* *fix:* when using **--size @PATH**, *PATH* can be a directory, and the total size of all files within it will be used ([#179](https://codeberg.org/ivarch/pv/issues/179))
### 1.10.3 - 15 December 2025
* *fix:* stop truncating the process title set by **--extra-display**
### 1.10.2 - 22 November 2025
* *i18n:* Finnish translations updated
* *cleanup:* adjust valgrind suppressions so memory safety tests work on LTO builds ([#174](https://codeberg.org/ivarch/pv/issues/174)/[Debian bug 1121157](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1121157))
### 1.10.1 - 12 November 2025
* *fix:* correct **--watchfd** memory allocation error when given multiple arguments ([#170](https://codeberg.org/ivarch/pv/issues/170))
+15 -3
View File
@@ -1,4 +1,4 @@
.TH PV 1 2025-11-12 pv-1.10.1 "User Commands"
.TH PV 1 2026-03-08 pv-1.10.4 "User Commands"
.\"
.SH NAME
pv \- monitor and manage the progress of data through a pipe
@@ -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
@@ -840,7 +852,7 @@ Please report bugs or feature requests via the issue tracker linked from the
.BR console_codes (4)
.\"
.SH COPYRIGHT
Copyright \(co 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew Wood.
Copyright \(co 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2026 Andrew Wood.
.PP
License GPLv3+:
.UR https://www.gnu.org/licenses/gpl-3.0.html
+10 -2
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
@@ -796,7 +804,7 @@ the [**pv** home page](https://ivarch.com/p/pv).
# COPYRIGHT
Copyright © 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew
Copyright © 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2026 Andrew
Wood.
License GPLv3+: [GNU GPL version 3 or
+1
View File
@@ -3,6 +3,7 @@ de
es
fi
fr
ka
pl
pt
ru
+28 -21
View File
@@ -1,14 +1,14 @@
# Makefile for PO directory in any package using GNU gettext.
# Copyright (C) 1995-2000 Ulrich Drepper <drepper@gnu.ai.mit.edu>
# Copyright (C) 2000-2020 Free Software Foundation, Inc.
# Copyright (C) 2000-2024 Free Software Foundation, Inc.
#
# Copying and distribution of this file, with or without modification,
# are permitted in any medium without royalty provided the copyright
# notice and this notice are preserved. This file is offered as-is,
# without any warranty.
#
# Origin: gettext-0.21
GETTEXT_MACRO_VERSION = 0.20
# Origin: gettext-0.23
GETTEXT_MACRO_VERSION = 0.22
PACKAGE = @PACKAGE@
VERSION = @VERSION@
@@ -68,7 +68,7 @@ POFILES = @POFILES@
GMOFILES = @GMOFILES@
UPDATEPOFILES = @UPDATEPOFILES@
DUMMYPOFILES = @DUMMYPOFILES@
DISTFILES.common = Makefile.in.in remove-potcdate.sin \
DISTFILES.common = Makefile.in.in remove-potcdate.sed \
$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
$(POFILES) $(GMOFILES) \
@@ -94,7 +94,7 @@ all: all-@USE_NLS@
.SUFFIXES:
.SUFFIXES: .po .gmo .sed .sin .nop .po-create .po-update
.SUFFIXES: .po .gmo .sed .nop .po-create .po-update
# The .pot file, stamp-po, .po files, and .gmo files appear in release tarballs.
# The GNU Coding Standards say in
@@ -113,6 +113,7 @@ all: all-@USE_NLS@
$(GMOFILES): $(srcdir)/$(DOMAIN).pot
.po.gmo:
@lang=`echo $* | sed -e 's,.*/,,'`; \
if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; fi; \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
echo "$${cdcmd}rm -f $${lang}.gmo && $(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) -o $${lang}.1po $${lang}.po $(DOMAIN).pot && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.1po && rm -f $${lang}.1po"; \
cd $(srcdir) && \
@@ -122,10 +123,6 @@ $(GMOFILES): $(srcdir)/$(DOMAIN).pot
mv t-$${lang}.gmo $${lang}.gmo && \
rm -f $${lang}.1po
.sin.sed:
sed -e '/^#/d' $< > t-$@
mv t-$@ $@
all-yes: $(srcdir)/stamp-po
all-no:
@@ -170,7 +167,7 @@ $(srcdir)/stamp-po: $(srcdir)/$(DOMAIN).pot
# The determination of whether the package xyz is a GNU one is based on the
# heuristic whether some file in the top level directory mentions "GNU xyz".
# If GNU 'find' is available, we avoid grepping through monster files.
$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in
package_gnu="$(PACKAGE_GNU)"; \
test -n "$$package_gnu" || { \
if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \
@@ -222,8 +219,8 @@ $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
|| exit 1; \
fi; \
if test -f $(srcdir)/$(DOMAIN).pot; then \
sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
sed -f $(srcdir)/remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
sed -f $(srcdir)/remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
else \
@@ -247,16 +244,19 @@ $(POFILES): $(POFILESDEPS)
@test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot
@lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
if test -f "$(srcdir)/$${lang}.po"; then \
if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; fi; \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot"; \
echo "$${cdcmd}$(MSGMERGE_UPDATE) --quiet $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot"; \
cd $(srcdir) \
&& { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
'' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
'' | 0.[0-9] | 0.[0-9].* | 0.10 | 0.10.*) \
$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
0.1[1-5] | 0.1[1-5].*) \
$(MSGMERGE_UPDATE) --quiet $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
0.1[6-7] | 0.1[6-7].*) \
$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --previous $${lang}.po $(DOMAIN).pot;; \
$(MSGMERGE_UPDATE) --quiet $(MSGMERGE_OPTIONS) --previous $${lang}.po $(DOMAIN).pot;; \
*) \
$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot;; \
$(MSGMERGE_UPDATE) --quiet $(MSGMERGE_OPTIONS) --lang=$${lang} --previous $${lang}.po $(DOMAIN).pot;; \
esac; \
}; \
else \
@@ -394,7 +394,6 @@ info dvi ps pdf html tags TAGS ctags CTAGS ID:
install-dvi install-ps install-pdf install-html:
mostlyclean:
rm -f remove-potcdate.sed
rm -f $(srcdir)/stamp-poT
rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
rm -fr *.o
@@ -464,15 +463,17 @@ update-po: Makefile
tmpdir=`pwd`; \
echo "$$lang:"; \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
echo "$${cdcmd}$(MSGMERGE) --quiet $(MSGMERGE_OPTIONS) --lang=$$lang --previous $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
cd $(srcdir); \
if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
'' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].*) \
'' | 0.[0-9] | 0.[0-9].* | 0.10 | 0.10.*) \
$(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
0.1[1-5] | 0.1[1-5].*) \
$(MSGMERGE) --quiet $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
0.1[6-7] | 0.1[6-7].*) \
$(MSGMERGE) $(MSGMERGE_OPTIONS) --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
$(MSGMERGE) --quiet $(MSGMERGE_OPTIONS) --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
*) \
$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
$(MSGMERGE) --quiet $(MSGMERGE_OPTIONS) --lang=$$lang --previous -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
esac; \
}; then \
if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
@@ -508,3 +509,9 @@ force:
# Tell versions [3.59,3.63) of GNU make not to export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
# This Makefile contains rules which don't work with parallel make,
# namely dist2.
# See <https://lists.gnu.org/archive/html/bug-gettext/2022-06/msg00022.html>.
# So, turn off parallel execution in this Makefile.
.NOTPARALLEL:
+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-11-12 11:28+0000\n"
"POT-Creation-Date: 2026-03-08 11:20+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:374
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:395 src/main/options.c:397 src/main/options.c:865
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:407 src/main/options.c:409 src/main/options.c:872
msgid "invalid process ID"
msgstr "neplatné ID procesu"
#: src/main/options.c:448 src/pv/file.c:342
#: src/main/options.c:476 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:519
msgid "is a directory"
msgstr "je adresář"
#: src/main/options.c:491
#: src/main/options.c:549
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:571
msgid "failed to read sysfs size file"
msgstr "selhalo čtení velikosti souboru v sysfs"
#: src/main/options.c:533
#: src/main/options.c:591
msgid "failed to open block device"
msgstr "selhalo otevření blokového zařízení"
#: src/main/options.c:543
#: src/main/options.c:601
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:710
msgid "option structure allocation failed"
msgstr "selhala alokace struktury pro volby"
#: src/main/options.c:671
#: src/main/options.c:729
msgid "option structure argv allocation failed"
msgstr "selhala alokace struktury pro argv"
#: src/main/options.c:723
#: src/main/options.c:781
msgid "numeric value not understood"
msgstr ""
#: src/main/options.c:743
#: src/main/options.c:801
msgid "integer argument expected"
msgstr "očekáván celočíselný argument"
#: src/main/options.c:755
#: src/main/options.c:813
msgid "numeric argument expected"
msgstr "očekáván číselný argument"
#: src/main/options.c:767
#: src/main/options.c:825
msgid "missing filename"
msgstr ""
#: src/main/options.c:795
#: src/main/options.c:853
msgid "missing process name"
msgstr ""
#: src/main/options.c:1056
#: src/main/options.c:1114
#, 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:1116
#, 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:1147
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:1156
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:1165
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:1174
msgid "cannot use remote query when watching file descriptors"
msgstr ""
#: src/main/options.c:1125
#: src/main/options.c:1183
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:1208
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:1220
msgid "cannot use remote control and remote query together"
msgstr ""
#: src/main/options.c:1189
#: src/main/options.c:1247
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-11-12 11:28+0000\n"
"POT-Creation-Date: 2026-03-08 11:20+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:374
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:395 src/main/options.c:397 src/main/options.c:865
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:407 src/main/options.c:409 src/main/options.c:872
msgid "invalid process ID"
msgstr "ungültige Prozess-ID"
#: src/main/options.c:448 src/pv/file.c:342
#: src/main/options.c:476 src/pv/file.c:342
msgid "failed to stat file"
msgstr "konnte Dateiinformationen nicht lesen"
#: src/main/options.c:462
#: src/main/options.c:519
msgid "is a directory"
msgstr "ist ein Verzeichnis"
#: src/main/options.c:491
#: src/main/options.c:549
msgid "failed to generate sysfs filename"
msgstr "konnte Sysfs-Dateinamen nicht erzeugen"
#: src/main/options.c:513
#: src/main/options.c:571
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:591
msgid "failed to open block device"
msgstr "konnte Blockgerät nicht öffnen"
#: src/main/options.c:543
#: src/main/options.c:601
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:710
msgid "option structure allocation failed"
msgstr "Speicherzuweisung für `option' fehlgeschlagen"
#: src/main/options.c:671
#: src/main/options.c:729
msgid "option structure argv allocation failed"
msgstr "Speicherzuweisung für `argv' der Option fehlgeschlagen"
#: src/main/options.c:723
#: src/main/options.c:781
msgid "numeric value not understood"
msgstr "numerischen Wert nicht verstanden"
#: src/main/options.c:743
#: src/main/options.c:801
msgid "integer argument expected"
msgstr "Ganzzahliges Argument erwartet"
#: src/main/options.c:755
#: src/main/options.c:813
msgid "numeric argument expected"
msgstr "numerisches Argument erwartet"
#: src/main/options.c:767
#: src/main/options.c:825
msgid "missing filename"
msgstr ""
#: src/main/options.c:795
#: src/main/options.c:853
msgid "missing process name"
msgstr ""
#: src/main/options.c:1056
#: src/main/options.c:1114
#, 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:1116
#, 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:1147
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:1156
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:1165
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:1174
msgid "cannot use remote query when watching file descriptors"
msgstr ""
#: src/main/options.c:1125
#: src/main/options.c:1183
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:1208
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:1220
msgid "cannot use remote control and remote query together"
msgstr ""
#: src/main/options.c:1189
#: src/main/options.c:1247
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-11-12 11:28+0000\n"
"POT-Creation-Date: 2026-03-08 11:20+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:374
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:395 src/main/options.c:397 src/main/options.c:865
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:407 src/main/options.c:409 src/main/options.c:872
msgid "invalid process ID"
msgstr ""
#: src/main/options.c:448 src/pv/file.c:342
#: src/main/options.c:476 src/pv/file.c:342
msgid "failed to stat file"
msgstr ""
#: src/main/options.c:462
#: src/main/options.c:519
msgid "is a directory"
msgstr ""
#: src/main/options.c:491
#: src/main/options.c:549
msgid "failed to generate sysfs filename"
msgstr ""
#: src/main/options.c:513
#: src/main/options.c:571
msgid "failed to read sysfs size file"
msgstr ""
#: src/main/options.c:533
#: src/main/options.c:591
msgid "failed to open block device"
msgstr ""
#: src/main/options.c:543
#: src/main/options.c:601
msgid "failed to determine size of block device"
msgstr ""
#: src/main/options.c:652
#: src/main/options.c:710
msgid "option structure allocation failed"
msgstr ""
#: src/main/options.c:671
#: src/main/options.c:729
msgid "option structure argv allocation failed"
msgstr ""
#: src/main/options.c:723
#: src/main/options.c:781
msgid "numeric value not understood"
msgstr ""
#: src/main/options.c:743
#: src/main/options.c:801
msgid "integer argument expected"
msgstr ""
#: src/main/options.c:755
#: src/main/options.c:813
msgid "numeric argument expected"
msgstr ""
#: src/main/options.c:767
#: src/main/options.c:825
msgid "missing filename"
msgstr ""
#: src/main/options.c:795
#: src/main/options.c:853
msgid "missing process name"
msgstr ""
#: src/main/options.c:1056
#: src/main/options.c:1114
#, c-format
msgid "Try `%s --help' for more information."
msgstr ""
#: src/main/options.c:1058
#: src/main/options.c:1116
#, c-format
msgid "Try `%s -h' for more information."
msgstr ""
#: src/main/options.c:1089
#: src/main/options.c:1147
msgid ""
"cannot use line mode or transfer modifier options when watching file "
"descriptors"
msgstr ""
#: src/main/options.c:1098
#: src/main/options.c:1156
msgid "cannot use cursor positioning when watching file descriptors"
msgstr ""
#: src/main/options.c:1107
#: src/main/options.c:1165
msgid "cannot use remote control when watching file descriptors"
msgstr ""
#: src/main/options.c:1116
#: src/main/options.c:1174
msgid "cannot use remote query when watching file descriptors"
msgstr ""
#: src/main/options.c:1125
#: src/main/options.c:1183
msgid "cannot transfer files when watching file descriptors"
msgstr ""
#: src/main/options.c:1150
#: src/main/options.c:1208
msgid "not available on systems without /proc/self/fdinfo"
msgstr ""
#: src/main/options.c:1162
#: src/main/options.c:1220
msgid "cannot use remote control and remote query together"
msgstr ""
#: src/main/options.c:1189
#: src/main/options.c:1247
msgid "files cannot be specified with this option"
msgstr ""
+93 -89
View File
@@ -2,42 +2,44 @@ 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-11-12 11:28+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"
"POT-Creation-Date: 2026-03-08 11:20+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"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.14\n"
#: src/main/help.c:236
msgid "show progress bar"
msgstr ""
msgstr "näytä edistymispalkki"
#: src/main/help.c:239
msgid "show elapsed time"
msgstr ""
msgstr "näytä kulunut aika"
#: src/main/help.c:242
msgid "show estimated time of arrival (completion)"
msgstr ""
msgstr "näytä arvioitu valmistumisaika"
#: src/main/help.c:245
msgid "show absolute estimated time of arrival (completion)"
msgstr ""
msgstr "näytä absoluuttinen arvioitu valmistumisaika"
#: src/main/help.c:248
msgid "show data transfer rate counter"
msgstr ""
msgstr "näytä datan siirtonopeuden laskuri"
#: src/main/help.c:251
msgid "show data transfer average rate counter"
msgstr ""
msgstr "näytä datan keskimääräisen siirtonopeuden laskuri"
#: src/main/help.c:254
msgid "show number of bytes transferred"
msgstr ""
msgstr "näytä siirrettyjen tavujen määrä"
#: src/main/help.c:257
msgid "show percentage of transfer buffer in use"
@@ -45,39 +47,39 @@ msgstr ""
#: src/main/help.c:259
msgid "NUM"
msgstr ""
msgstr "NUM"
#: src/main/help.c:260
msgid "show NUM bytes last written"
msgstr ""
msgstr "näytä NUM viimeksi kirjoitettua tavua"
#: src/main/help.c:262
msgid "FORMAT"
msgstr ""
msgstr "MUOTO"
#: src/main/help.c:263
msgid "set output format to FORMAT"
msgstr ""
msgstr "aseta tulostemuodoksi MUOTO"
#: src/main/help.c:266
msgid "output percentages, not visual information"
msgstr ""
msgstr "tulosta prosentit, ei visuaalista tietoa"
#: src/main/help.c:269
msgid "do not output any transfer information at all"
msgstr ""
msgstr "älä tulosta minkäänlaista siirtotietoa"
#: src/main/help.c:273
msgid "show number of bits transferred"
msgstr ""
msgstr "näytä siirrettyjen bittien määrä"
#: src/main/help.c:276
msgid "treat suffixes as multiples of 1000 rather than 1024"
msgstr ""
msgstr "käsittele päätteitä 1000:n kertoimina 1024:n sijaan"
#: src/main/help.c:279
msgid "display nothing until first byte transferred"
msgstr ""
msgstr "älä näytä mitään, ennen kuin ensimmäinen tavu on siirretty"
#: src/main/help.c:281 src/main/help.c:296 src/main/help.c:299
msgid "SEC"
@@ -85,15 +87,15 @@ msgstr ""
#: src/main/help.c:282
msgid "display nothing until SEC seconds have passed"
msgstr ""
msgstr "älä näytä mitään, ennen kuin SEC sekuntia on kulunut"
#: src/main/help.c:284
msgid "SIZE"
msgstr ""
msgstr "KOKO"
#: src/main/help.c:285
msgid "set estimated data size to SIZE bytes"
msgstr ""
msgstr "aseta arvioiduksi datan kooksi KOKO tavua"
#: src/main/help.c:288
msgid "if size unknown, show rate vs max rate"
@@ -101,7 +103,7 @@ msgstr ""
#: src/main/help.c:291
msgid "count lines instead of bytes"
msgstr ""
msgstr "laske rivit tavujen sijaan"
#: src/main/help.c:294
msgid "lines are null-terminated"
@@ -109,31 +111,31 @@ msgstr ""
#: src/main/help.c:297
msgid "update every SEC seconds"
msgstr ""
msgstr "päivitä SEC sekunnin välein"
#: src/main/help.c:300
msgid "compute average rate over past SEC seconds (default 30s)"
msgstr ""
msgstr "laske keskimääräinen siirtonopeus SEC sekunnin ajalta (oletus 30 s)"
#: src/main/help.c:302
msgid "WIDTH"
msgstr ""
msgstr "LEVEYS"
#: src/main/help.c:303
msgid "assume terminal is WIDTH characters wide"
msgstr ""
msgstr "oleta, että päätteen LEVEYS on merkkiä leveä"
#: src/main/help.c:305
msgid "HEIGHT"
msgstr ""
msgstr "KORKEUS"
#: src/main/help.c:306
msgid "assume terminal is HEIGHT rows high"
msgstr ""
msgstr "oleta, että päätteen KORKEUS on merkkiä korkea"
#: src/main/help.c:308
msgid "NAME"
msgstr ""
msgstr "NIMI"
#: src/main/help.c:309
msgid "prefix visual information with NAME"
@@ -141,7 +143,7 @@ msgstr ""
#: src/main/help.c:311
msgid "STYLE"
msgstr ""
msgstr "TYYLI"
#: src/main/help.c:312
msgid "set default bar style to NAME"
@@ -157,7 +159,7 @@ msgstr ""
#: src/main/help.c:318
msgid "output transfer statistics at the end"
msgstr ""
msgstr "tulosta siirtotilastot lopussa"
#: src/main/help.c:321
msgid "output even if standard error is not a terminal"
@@ -170,19 +172,19 @@ msgstr ""
#: src/main/help.c:327 src/main/help.c:360 src/main/help.c:376
#: src/main/help.c:386
msgid "FILE"
msgstr ""
msgstr "TIEDOSTO"
#: src/main/help.c:328
msgid "write output to FILE instead of stdout"
msgstr ""
msgstr "kirjoita tuloste tiedostoon TIEDOSTO oletustulosteen (stdout) sijaan"
#: src/main/help.c:330
msgid "RATE"
msgstr ""
msgstr "NOPEUS"
#: src/main/help.c:331
msgid "limit transfer to RATE bytes per second"
msgstr ""
msgstr "rajoita siirron nopeudeksi NOPEUS tavua per sekunti"
#: src/main/help.c:333 src/main/help.c:342
msgid "BYTES"
@@ -198,7 +200,7 @@ msgstr ""
#: src/main/help.c:340
msgid "skip read errors in input"
msgstr ""
msgstr "ohita lukuvirheet syötteessä"
#: src/main/help.c:343
msgid "skip errors in BYTES blocks at a time"
@@ -206,7 +208,7 @@ msgstr ""
#: src/main/help.c:346
msgid "stop after --size bytes have been transferred"
msgstr ""
msgstr "lopeta kun --size tavua on siirretty"
#: src/main/help.c:349
msgid "flush cache to disk after every write"
@@ -227,6 +229,7 @@ msgstr ""
#: src/main/help.c:361
msgid "write all input to FILE before writing to output"
msgstr ""
"kirjoita kaikki syöte tiedostoon TIEDOSTO ennen tulosteeseen kirjoittamista"
#: src/main/help.c:364
msgid "PID[:FD]|=NAME|@LISTFILE"
@@ -254,34 +257,35 @@ msgstr ""
#: src/main/help.c:380
msgid "show this help and exit"
msgstr ""
msgstr "näytä tämä ohje ja lopeta"
#: src/main/help.c:383
msgid "show version information and exit"
msgstr ""
msgstr "näytä versiotiedot ja lopeta"
#: src/main/help.c:387
msgid "write debug logs to FILE"
msgstr ""
msgstr "kirjoita vianjäljityslokit tiedostoon TIEDOSTO"
#: src/main/help.c:413
#, c-format
msgid "Usage: %s [OPTION] [FILE]..."
msgstr ""
msgstr "Käyttö: %s [VALINTA] [TIEDOSTO]..."
#: src/main/help.c:424
msgid ""
"Concatenate FILE(s), or standard input, to standard output, with monitoring."
msgstr ""
"Putkita TIEDOSTO(t), tai vakiosyöte, vakiotulosteeseen, monitoroinnin kanssa."
#: src/main/help.c:562
msgid "Supported format sequences:"
msgstr ""
msgstr "Tuetut muotosekvenssit:"
#: src/main/help.c:576
#, c-format
msgid "Please report any bugs to: %s"
msgstr ""
msgstr "Ilmoita ongelmista: %s"
#: src/main/main.c:228
msgid "(input)"
@@ -291,117 +295,117 @@ msgstr ""
msgid "state allocation failed"
msgstr ""
#: src/main/options.c:370
#: src/main/options.c:374
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:395 src/main/options.c:397 src/main/options.c:865
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:407 src/main/options.c:409 src/main/options.c:872
msgid "invalid process ID"
msgstr ""
msgstr "virheellinen prosessin ID"
#: src/main/options.c:448 src/pv/file.c:342
#: src/main/options.c:476 src/pv/file.c:342
msgid "failed to stat file"
msgstr ""
#: src/main/options.c:462
#: src/main/options.c:519
msgid "is a directory"
msgstr ""
msgstr "on hakemisto"
#: src/main/options.c:491
#: src/main/options.c:549
msgid "failed to generate sysfs filename"
msgstr ""
#: src/main/options.c:513
#: src/main/options.c:571
msgid "failed to read sysfs size file"
msgstr ""
#: src/main/options.c:533
#: src/main/options.c:591
msgid "failed to open block device"
msgstr ""
msgstr "lohkolaitteen avaaminen epäonnistui"
#: src/main/options.c:543
#: src/main/options.c:601
msgid "failed to determine size of block device"
msgstr ""
msgstr "lohkolaitteen koon päättely epäonnistui"
#: src/main/options.c:652
#: src/main/options.c:710
msgid "option structure allocation failed"
msgstr ""
#: src/main/options.c:671
#: src/main/options.c:729
msgid "option structure argv allocation failed"
msgstr ""
#: src/main/options.c:723
#: src/main/options.c:781
msgid "numeric value not understood"
msgstr ""
msgstr "numeerista arvoa ei ymmärretty"
#: src/main/options.c:743
#: src/main/options.c:801
msgid "integer argument expected"
msgstr ""
#: src/main/options.c:755
#: src/main/options.c:813
msgid "numeric argument expected"
msgstr ""
#: src/main/options.c:767
#: src/main/options.c:825
msgid "missing filename"
msgstr ""
msgstr "puuttuva tiedostonimi"
#: src/main/options.c:795
#: src/main/options.c:853
msgid "missing process name"
msgstr ""
msgstr "puuttuva prosessinimi"
#: src/main/options.c:1056
#: src/main/options.c:1114
#, c-format
msgid "Try `%s --help' for more information."
msgstr ""
msgstr "Suorita `%s --help' saadaksesi lisätietoja."
#: src/main/options.c:1058
#: src/main/options.c:1116
#, c-format
msgid "Try `%s -h' for more information."
msgstr ""
msgstr "Suorita `%s -h' saadaksesi lisätietoja."
#: src/main/options.c:1089
#: src/main/options.c:1147
msgid ""
"cannot use line mode or transfer modifier options when watching file "
"descriptors"
msgstr ""
#: src/main/options.c:1098
#: src/main/options.c:1156
msgid "cannot use cursor positioning when watching file descriptors"
msgstr ""
#: src/main/options.c:1107
#: src/main/options.c:1165
msgid "cannot use remote control when watching file descriptors"
msgstr ""
#: src/main/options.c:1116
#: src/main/options.c:1174
msgid "cannot use remote query when watching file descriptors"
msgstr ""
#: src/main/options.c:1125
#: src/main/options.c:1183
msgid "cannot transfer files when watching file descriptors"
msgstr ""
#: src/main/options.c:1150
#: src/main/options.c:1208
msgid "not available on systems without /proc/self/fdinfo"
msgstr ""
#: src/main/options.c:1162
#: src/main/options.c:1220
msgid "cannot use remote control and remote query together"
msgstr ""
#: src/main/options.c:1189
#: src/main/options.c:1247
msgid "files cannot be specified with this option"
msgstr ""
#: src/main/version.c:28
msgid "License: GPLv3+ <https://www.gnu.org/licenses/gpl-3.0.html>"
msgstr ""
msgstr "Lisenssi: GPLv3+ <https://www.gnu.org/licenses/gpl-3.0.html>"
#: src/main/version.c:29
msgid "This is free software: you are free to change and redistribute it."
@@ -413,7 +417,7 @@ msgstr ""
#: src/main/version.c:32
msgid "Project web site"
msgstr ""
msgstr "Projektin verkkosivu"
#: src/pv/cursor.c:61
msgid "failed to get terminal name"
@@ -449,11 +453,11 @@ msgstr ""
#: src/pv/file.c:303
msgid "failed to close file"
msgstr ""
msgstr "tiedoston sulkeminen epäonnistui"
#: src/pv/file.c:335
msgid "failed to read file"
msgstr ""
msgstr "tiedoston lukeminen epäonnistui"
#: src/pv/file.c:350
msgid "failed to stat output file"
@@ -461,7 +465,7 @@ msgstr ""
#: src/pv/file.c:372
msgid "input file is output file"
msgstr ""
msgstr "syötetiedosto on tulostetiedosto"
#: src/pv/file.c:429
msgid "(none)"
@@ -530,7 +534,7 @@ msgstr ""
#: src/pv/remote.c:644 src/pv/remote.c:662
msgid "SA_SIGINFO not supported on this system"
msgstr ""
msgstr "SA_SIGINFO ei ole tuettu tässä järjestelmässä"
#: src/pv/state.c:42
msgid "history structure allocation failed"
@@ -546,7 +550,7 @@ msgstr ""
#: src/pv/transfer.c:506
msgid "warning: read errors detected"
msgstr ""
msgstr "varoitus: lukuvirheitä havaittu"
#: src/pv/transfer.c:522
msgid "file is not seekable"
@@ -578,7 +582,7 @@ msgstr ""
#: src/pv/transfer.c:996
msgid "write failed"
msgstr ""
msgstr "kirjoittaminen epäonnistui"
#: src/pv/transfer.c:1237
msgid "select call failed"
@@ -586,4 +590,4 @@ msgstr ""
#: src/pv/watchpid.c:131 src/pv/watchpid.c:205
msgid "not a regular file or block device"
msgstr ""
msgstr "ei tavallinen tiedosto tai lohkolaite"
+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-11-12 11:28+0000\n"
"POT-Creation-Date: 2026-03-08 11:20+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:374
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:395 src/main/options.c:397 src/main/options.c:865
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:407 src/main/options.c:409 src/main/options.c:872
msgid "invalid process ID"
msgstr "ID de processus non valide"
#: src/main/options.c:448 src/pv/file.c:342
#: src/main/options.c:476 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:519
msgid "is a directory"
msgstr "est un répertoire"
#: src/main/options.c:491
#: src/main/options.c:549
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:571
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:591
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:601
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:710
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:729
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:781
msgid "numeric value not understood"
msgstr "valeur numérique non comprise"
#: src/main/options.c:743
#: src/main/options.c:801
msgid "integer argument expected"
msgstr "Valeur entière attendue"
#: src/main/options.c:755
#: src/main/options.c:813
msgid "numeric argument expected"
msgstr "Valeur numérique attendue"
#: src/main/options.c:767
#: src/main/options.c:825
msgid "missing filename"
msgstr ""
#: src/main/options.c:795
#: src/main/options.c:853
msgid "missing process name"
msgstr ""
#: src/main/options.c:1056
#: src/main/options.c:1114
#, 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:1116
#, 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:1147
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:1156
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:1165
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:1174
msgid "cannot use remote query when watching file descriptors"
msgstr ""
#: src/main/options.c:1125
#: src/main/options.c:1183
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:1208
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:1220
msgid "cannot use remote control and remote query together"
msgstr ""
#: src/main/options.c:1189
#: src/main/options.c:1247
msgid "files cannot be specified with this option"
msgstr ""
+589
View File
@@ -0,0 +1,589 @@
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-03-08 11:20+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"
"Language: ka\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: src/main/help.c:236
msgid "show progress bar"
msgstr ""
#: src/main/help.c:239
msgid "show elapsed time"
msgstr ""
#: src/main/help.c:242
msgid "show estimated time of arrival (completion)"
msgstr ""
#: src/main/help.c:245
msgid "show absolute estimated time of arrival (completion)"
msgstr ""
#: src/main/help.c:248
msgid "show data transfer rate counter"
msgstr ""
#: src/main/help.c:251
msgid "show data transfer average rate counter"
msgstr ""
#: src/main/help.c:254
msgid "show number of bytes transferred"
msgstr ""
#: src/main/help.c:257
msgid "show percentage of transfer buffer in use"
msgstr ""
#: src/main/help.c:259
msgid "NUM"
msgstr ""
#: src/main/help.c:260
msgid "show NUM bytes last written"
msgstr ""
#: src/main/help.c:262
msgid "FORMAT"
msgstr ""
#: src/main/help.c:263
msgid "set output format to FORMAT"
msgstr ""
#: src/main/help.c:266
msgid "output percentages, not visual information"
msgstr ""
#: src/main/help.c:269
msgid "do not output any transfer information at all"
msgstr ""
#: src/main/help.c:273
msgid "show number of bits transferred"
msgstr ""
#: src/main/help.c:276
msgid "treat suffixes as multiples of 1000 rather than 1024"
msgstr ""
#: src/main/help.c:279
msgid "display nothing until first byte transferred"
msgstr ""
#: src/main/help.c:281 src/main/help.c:296 src/main/help.c:299
msgid "SEC"
msgstr ""
#: src/main/help.c:282
msgid "display nothing until SEC seconds have passed"
msgstr ""
#: src/main/help.c:284
msgid "SIZE"
msgstr ""
#: src/main/help.c:285
msgid "set estimated data size to SIZE bytes"
msgstr ""
#: src/main/help.c:288
msgid "if size unknown, show rate vs max rate"
msgstr ""
#: src/main/help.c:291
msgid "count lines instead of bytes"
msgstr ""
#: src/main/help.c:294
msgid "lines are null-terminated"
msgstr ""
#: src/main/help.c:297
msgid "update every SEC seconds"
msgstr ""
#: src/main/help.c:300
msgid "compute average rate over past SEC seconds (default 30s)"
msgstr ""
#: src/main/help.c:302
msgid "WIDTH"
msgstr ""
#: src/main/help.c:303
msgid "assume terminal is WIDTH characters wide"
msgstr ""
#: src/main/help.c:305
msgid "HEIGHT"
msgstr ""
#: src/main/help.c:306
msgid "assume terminal is HEIGHT rows high"
msgstr ""
#: src/main/help.c:308
msgid "NAME"
msgstr ""
#: src/main/help.c:309
msgid "prefix visual information with NAME"
msgstr ""
#: src/main/help.c:311
msgid "STYLE"
msgstr ""
#: src/main/help.c:312
msgid "set default bar style to NAME"
msgstr ""
#: src/main/help.c:314
msgid "SPEC"
msgstr ""
#: src/main/help.c:315
msgid "also send progress to SPEC"
msgstr ""
#: src/main/help.c:318
msgid "output transfer statistics at the end"
msgstr ""
#: src/main/help.c:321
msgid "output even if standard error is not a terminal"
msgstr ""
#: src/main/help.c:324
msgid "use cursor positioning escape sequences"
msgstr ""
#: src/main/help.c:327 src/main/help.c:360 src/main/help.c:376
#: src/main/help.c:386
msgid "FILE"
msgstr ""
#: src/main/help.c:328
msgid "write output to FILE instead of stdout"
msgstr ""
#: src/main/help.c:330
msgid "RATE"
msgstr ""
#: src/main/help.c:331
msgid "limit transfer to RATE bytes per second"
msgstr ""
#: src/main/help.c:333 src/main/help.c:342
msgid "BYTES"
msgstr ""
#: src/main/help.c:334
msgid "use a buffer size of BYTES"
msgstr ""
#: src/main/help.c:337
msgid "never use splice(), always use read/write"
msgstr ""
#: src/main/help.c:340
msgid "skip read errors in input"
msgstr ""
#: src/main/help.c:343
msgid "skip errors in BYTES blocks at a time"
msgstr ""
#: src/main/help.c:346
msgid "stop after --size bytes have been transferred"
msgstr ""
#: src/main/help.c:349
msgid "flush cache to disk after every write"
msgstr ""
#: src/main/help.c:352
msgid "use direct I/O to bypass cache"
msgstr ""
#: src/main/help.c:355
msgid "try to seek instead of writing null bytes"
msgstr ""
#: src/main/help.c:358
msgid "discard input instead of writing to output"
msgstr ""
#: src/main/help.c:361
msgid "write all input to FILE before writing to output"
msgstr ""
#: src/main/help.c:364
msgid "PID[:FD]|=NAME|@LISTFILE"
msgstr ""
#: src/main/help.c:365
msgid "watch file FD opened by process PID"
msgstr ""
#: src/main/help.c:368 src/main/help.c:371
msgid "PID"
msgstr ""
#: src/main/help.c:369
msgid "update settings of process PID"
msgstr ""
#: src/main/help.c:372
msgid "show progress of process PID"
msgstr ""
#: src/main/help.c:377
msgid "save process ID in FILE"
msgstr ""
#: src/main/help.c:380
msgid "show this help and exit"
msgstr ""
#: src/main/help.c:383
msgid "show version information and exit"
msgstr ""
#: src/main/help.c:387
msgid "write debug logs to FILE"
msgstr ""
#: src/main/help.c:413
#, c-format
msgid "Usage: %s [OPTION] [FILE]..."
msgstr ""
#: src/main/help.c:424
msgid ""
"Concatenate FILE(s), or standard input, to standard output, with monitoring."
msgstr ""
#: src/main/help.c:562
msgid "Supported format sequences:"
msgstr ""
#: src/main/help.c:576
#, c-format
msgid "Please report any bugs to: %s"
msgstr ""
#: src/main/main.c:228
msgid "(input)"
msgstr ""
#: src/main/main.c:330
msgid "state allocation failed"
msgstr ""
#: src/main/options.c:374
msgid "list files may not contain @ lines"
msgstr ""
#: src/main/options.c:395 src/main/options.c:397 src/main/options.c:865
msgid "process ID or pid:fd pair expected"
msgstr ""
#: src/main/options.c:407 src/main/options.c:409 src/main/options.c:872
msgid "invalid process ID"
msgstr ""
#: src/main/options.c:476 src/pv/file.c:342
msgid "failed to stat file"
msgstr ""
#: src/main/options.c:519
msgid "is a directory"
msgstr ""
#: src/main/options.c:549
msgid "failed to generate sysfs filename"
msgstr ""
#: src/main/options.c:571
msgid "failed to read sysfs size file"
msgstr ""
#: src/main/options.c:591
msgid "failed to open block device"
msgstr ""
#: src/main/options.c:601
msgid "failed to determine size of block device"
msgstr ""
#: src/main/options.c:710
msgid "option structure allocation failed"
msgstr ""
#: src/main/options.c:729
msgid "option structure argv allocation failed"
msgstr ""
#: src/main/options.c:781
msgid "numeric value not understood"
msgstr ""
#: src/main/options.c:801
msgid "integer argument expected"
msgstr ""
#: src/main/options.c:813
msgid "numeric argument expected"
msgstr ""
#: src/main/options.c:825
msgid "missing filename"
msgstr ""
#: src/main/options.c:853
msgid "missing process name"
msgstr ""
#: src/main/options.c:1114
#, c-format
msgid "Try `%s --help' for more information."
msgstr ""
#: src/main/options.c:1116
#, c-format
msgid "Try `%s -h' for more information."
msgstr ""
#: src/main/options.c:1147
msgid ""
"cannot use line mode or transfer modifier options when watching file "
"descriptors"
msgstr ""
#: src/main/options.c:1156
msgid "cannot use cursor positioning when watching file descriptors"
msgstr ""
#: src/main/options.c:1165
msgid "cannot use remote control when watching file descriptors"
msgstr ""
#: src/main/options.c:1174
msgid "cannot use remote query when watching file descriptors"
msgstr ""
#: src/main/options.c:1183
msgid "cannot transfer files when watching file descriptors"
msgstr ""
#: src/main/options.c:1208
msgid "not available on systems without /proc/self/fdinfo"
msgstr ""
#: src/main/options.c:1220
msgid "cannot use remote control and remote query together"
msgstr ""
#: src/main/options.c:1247
msgid "files cannot be specified with this option"
msgstr ""
#: src/main/version.c:28
msgid "License: GPLv3+ <https://www.gnu.org/licenses/gpl-3.0.html>"
msgstr ""
#: src/main/version.c:29
msgid "This is free software: you are free to change and redistribute it."
msgstr ""
#: src/main/version.c:30
msgid "There is NO WARRANTY, to the extent permitted by law."
msgstr ""
#: src/main/version.c:32
msgid "Project web site"
msgstr ""
#: src/pv/cursor.c:61
msgid "failed to get terminal name"
msgstr ""
#: src/pv/cursor.c:106
msgid "failed to open lock file"
msgstr ""
#: src/pv/cursor.c:139
msgid "lock attempt failed"
msgstr ""
#: src/pv/cursor.c:400
msgid "failed to open terminal"
msgstr ""
#: src/pv/display.c:285
msgid "yzafpnum kMGTPEZY"
msgstr ""
#: src/pv/display.c:303
msgid "yzafpnum KMGTPEZY"
msgstr ""
#: src/pv/display.c:1053 src/pv/state.c:842 src/pv/transfer.c:1135
msgid "buffer allocation failed"
msgstr ""
#: src/pv/file.c:153
msgid "failed to seek to start of output"
msgstr ""
#: src/pv/file.c:303
msgid "failed to close file"
msgstr ""
#: src/pv/file.c:335
msgid "failed to read file"
msgstr ""
#: src/pv/file.c:350
msgid "failed to stat output file"
msgstr ""
#: src/pv/file.c:372
msgid "input file is output file"
msgstr ""
#: src/pv/file.c:429
msgid "(none)"
msgstr ""
#: src/pv/file.c:431
msgid "(stdin)"
msgstr ""
#: src/pv/format/averagerate.c:34 src/pv/format/progressbar.c:92
#: src/pv/format/rate.c:36 src/pv/loop.c:121
msgid "b/s"
msgstr ""
#: src/pv/format/averagerate.c:38 src/pv/format/progressbar.c:96
#: src/pv/format/rate.c:40
msgid "/s"
msgstr ""
#: src/pv/format/averagerate.c:38 src/pv/format/progressbar.c:96
#: src/pv/format/rate.c:40 src/pv/loop.c:121
msgid "B/s"
msgstr ""
#: src/pv/format/bytes.c:35
msgid "b"
msgstr ""
#: src/pv/format/bytes.c:39 src/pv/transfer.c:620
msgid "B"
msgstr ""
#: src/pv/format/eta.c:52 src/pv/format/eta.c:56
msgid "ETA"
msgstr ""
#: src/pv/format/fineta.c:80
msgid "FIN"
msgstr ""
#: src/pv/loop.c:120
msgid "rate min/avg/max/mdev"
msgstr ""
#: src/pv/loop.c:132
msgid "rate not measured"
msgstr ""
#: src/pv/loop.c:802 src/pv/loop.c:818 src/pv/loop.c:836 src/pv/watchpid.c:101
#: src/pv/watchpid.c:110 src/pv/watchpid.c:121 src/pv/watchpid.c:129
#: src/pv/watchpid.c:166 src/pv/watchpid.c:185 src/pv/watchpid.c:193
#: src/pv/watchpid.c:203 src/pv/watchpid.c:307 src/pv/watchpid.c:315
#: src/pv/watchpid.c:447 src/pv/watchpid.c:470
msgid "pid"
msgstr ""
#: src/pv/loop.c:836 src/pv/watchpid.c:110 src/pv/watchpid.c:122
#: src/pv/watchpid.c:131 src/pv/watchpid.c:185 src/pv/watchpid.c:194
#: src/pv/watchpid.c:205
msgid "fd"
msgstr ""
#: src/pv/remote.c:237 src/pv/remote.c:622
msgid "message not received"
msgstr ""
#: src/pv/remote.c:644 src/pv/remote.c:662
msgid "SA_SIGINFO not supported on this system"
msgstr ""
#: src/pv/state.c:42
msgid "history structure allocation failed"
msgstr ""
#: src/pv/state.c:794 src/pv/state.c:806
msgid "file list allocation failed"
msgstr ""
#: src/pv/transfer.c:490
msgid "read failed"
msgstr ""
#: src/pv/transfer.c:506
msgid "warning: read errors detected"
msgstr ""
#: src/pv/transfer.c:522
msgid "file is not seekable"
msgstr ""
#: src/pv/transfer.c:599
msgid "failed to seek past error"
msgstr ""
#: src/pv/transfer.c:619
msgid "skipped past read error"
msgstr ""
#: src/pv/transfer.c:663
msgid "no transfer buffer allocated"
msgstr ""
#: src/pv/transfer.c:751
msgid "failed to set interval timer"
msgstr ""
#: src/pv/transfer.c:777
msgid "failed to clear interval timer"
msgstr ""
#: src/pv/transfer.c:822
msgid "line position buffer allocation failed"
msgstr ""
#: src/pv/transfer.c:996
msgid "write failed"
msgstr ""
#: src/pv/transfer.c:1237
msgid "select call failed"
msgstr ""
#: src/pv/watchpid.c:131 src/pv/watchpid.c:205
msgid "not a regular file or block device"
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-11-12 11:28+0000\n"
"POT-Creation-Date: 2026-03-08 11:20+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:374
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:395 src/main/options.c:397 src/main/options.c:865
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:407 src/main/options.c:409 src/main/options.c:872
msgid "invalid process ID"
msgstr "niepoprawne ID procesu"
#: src/main/options.c:448 src/pv/file.c:342
#: src/main/options.c:476 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:519
msgid "is a directory"
msgstr "jest katalogiem"
#: src/main/options.c:491
#: src/main/options.c:549
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:571
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:591
msgid "failed to open block device"
msgstr "nie udało się otworzyć urządzenia blokowego"
#: src/main/options.c:543
#: src/main/options.c:601
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:710
msgid "option structure allocation failed"
msgstr "nie udało się zaalokować struktur opcji"
#: src/main/options.c:671
#: src/main/options.c:729
msgid "option structure argv allocation failed"
msgstr "nie udało się zaalokować struktur opcji argv"
#: src/main/options.c:723
#: src/main/options.c:781
msgid "numeric value not understood"
msgstr "wartość liczbowa niezrozumiana"
#: src/main/options.c:743
#: src/main/options.c:801
msgid "integer argument expected"
msgstr "oczekiwany argument typu liczby całkowitej"
#: src/main/options.c:755
#: src/main/options.c:813
msgid "numeric argument expected"
msgstr "oczekiwany argument liczbowy"
#: src/main/options.c:767
#: src/main/options.c:825
msgid "missing filename"
msgstr ""
#: src/main/options.c:795
#: src/main/options.c:853
msgid "missing process name"
msgstr ""
#: src/main/options.c:1056
#: src/main/options.c:1114
#, 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:1116
#, 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:1147
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:1156
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:1165
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:1174
msgid "cannot use remote query when watching file descriptors"
msgstr ""
#: src/main/options.c:1125
#: src/main/options.c:1183
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:1208
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:1220
msgid "cannot use remote control and remote query together"
msgstr ""
#: src/main/options.c:1189
#: src/main/options.c:1247
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-11-12 11:28+0000\n"
"POT-Creation-Date: 2026-03-08 11:20+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:374
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:395 src/main/options.c:397 src/main/options.c:865
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:407 src/main/options.c:409 src/main/options.c:872
msgid "invalid process ID"
msgstr "ID de processo inválido"
#: src/main/options.c:448 src/pv/file.c:342
#: src/main/options.c:476 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:519
msgid "is a directory"
msgstr ""
#: src/main/options.c:491
#: src/main/options.c:549
msgid "failed to generate sysfs filename"
msgstr ""
#: src/main/options.c:513
#: src/main/options.c:571
msgid "failed to read sysfs size file"
msgstr ""
#: src/main/options.c:533
#: src/main/options.c:591
msgid "failed to open block device"
msgstr ""
#: src/main/options.c:543
#: src/main/options.c:601
msgid "failed to determine size of block device"
msgstr ""
#: src/main/options.c:652
#: src/main/options.c:710
msgid "option structure allocation failed"
msgstr "erro na alocação da estrutura de opções"
#: src/main/options.c:671
#: src/main/options.c:729
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:781
msgid "numeric value not understood"
msgstr ""
#: src/main/options.c:743
#: src/main/options.c:801
msgid "integer argument expected"
msgstr "argumento inteiro esperado"
#: src/main/options.c:755
#: src/main/options.c:813
msgid "numeric argument expected"
msgstr "argumento numérico esperado"
#: src/main/options.c:767
#: src/main/options.c:825
msgid "missing filename"
msgstr ""
#: src/main/options.c:795
#: src/main/options.c:853
msgid "missing process name"
msgstr ""
#: src/main/options.c:1056
#: src/main/options.c:1114
#, 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:1116
#, 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:1147
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:1156
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:1165
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:1174
msgid "cannot use remote query when watching file descriptors"
msgstr ""
#: src/main/options.c:1125
#: src/main/options.c:1183
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:1208
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:1220
msgid "cannot use remote control and remote query together"
msgstr ""
#: src/main/options.c:1189
#: src/main/options.c:1247
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-11-12 11:28+0000\n"
"POT-Creation-Date: 2026-03-08 11:20+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:374
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:395 src/main/options.c:397 src/main/options.c:865
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:407 src/main/options.c:409 src/main/options.c:872
msgid "invalid process ID"
msgstr "неправильный ИД процесса"
#: src/main/options.c:448 src/pv/file.c:342
#: src/main/options.c:476 src/pv/file.c:342
msgid "failed to stat file"
msgstr "не удалось получить информацию о файле"
#: src/main/options.c:462
#: src/main/options.c:519
msgid "is a directory"
msgstr "является каталогом"
#: src/main/options.c:491
#: src/main/options.c:549
msgid "failed to generate sysfs filename"
msgstr "не удалось создать имя файла sysfs"
#: src/main/options.c:513
#: src/main/options.c:571
msgid "failed to read sysfs size file"
msgstr "не удалось узнать размер файла sysfs"
#: src/main/options.c:533
#: src/main/options.c:591
msgid "failed to open block device"
msgstr "не удалось открыть блочное устройство"
#: src/main/options.c:543
#: src/main/options.c:601
msgid "failed to determine size of block device"
msgstr "не удалось определить размер блочного устройства"
#: src/main/options.c:652
#: src/main/options.c:710
msgid "option structure allocation failed"
msgstr "не удалось выделить память для структуры опций"
#: src/main/options.c:671
#: src/main/options.c:729
msgid "option structure argv allocation failed"
msgstr "не удалось выделить память для структуры опций argv"
#: src/main/options.c:723
#: src/main/options.c:781
msgid "numeric value not understood"
msgstr "число не распознано"
#: src/main/options.c:743
#: src/main/options.c:801
msgid "integer argument expected"
msgstr "ожидалось целое число"
#: src/main/options.c:755
#: src/main/options.c:813
msgid "numeric argument expected"
msgstr "ожидалось число"
#: src/main/options.c:767
#: src/main/options.c:825
msgid "missing filename"
msgstr ""
#: src/main/options.c:795
#: src/main/options.c:853
msgid "missing process name"
msgstr ""
#: src/main/options.c:1056
#: src/main/options.c:1114
#, c-format
msgid "Try `%s --help' for more information."
msgstr "Выполните `%s --help' для получения подробностей."
#: src/main/options.c:1058
#: src/main/options.c:1116
#, c-format
msgid "Try `%s -h' for more information."
msgstr "Выполните `%s -h' для получения подробностей."
#: src/main/options.c:1089
#: src/main/options.c:1147
msgid ""
"cannot use line mode or transfer modifier options when watching file "
"descriptors"
msgstr ""
#: src/main/options.c:1098
#: src/main/options.c:1156
msgid "cannot use cursor positioning when watching file descriptors"
msgstr ""
#: src/main/options.c:1107
#: src/main/options.c:1165
msgid "cannot use remote control when watching file descriptors"
msgstr "удалённое управление невозможно при отслеживании дескрипторов файлов"
#: src/main/options.c:1116
#: src/main/options.c:1174
msgid "cannot use remote query when watching file descriptors"
msgstr ""
#: src/main/options.c:1125
#: src/main/options.c:1183
msgid "cannot transfer files when watching file descriptors"
msgstr "передача файлов невозможна при отслеживании дескрипторов файлов"
#: src/main/options.c:1150
#: src/main/options.c:1208
msgid "not available on systems without /proc/self/fdinfo"
msgstr "невозможно на системах без /proc/self/fdinfo"
#: src/main/options.c:1162
#: src/main/options.c:1220
msgid "cannot use remote control and remote query together"
msgstr ""
#: src/main/options.c:1189
#: src/main/options.c:1247
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-11-12 11:28+0000\n"
"POT-Creation-Date: 2026-03-08 11:20+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:374
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:395 src/main/options.c:397 src/main/options.c:865
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:407 src/main/options.c:409 src/main/options.c:872
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:476 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:519
msgid "is a directory"
msgstr "bir dizindir"
#: src/main/options.c:491
#: src/main/options.c:549
msgid "failed to generate sysfs filename"
msgstr "sysfs dosya adı oluşturulamadı"
#: src/main/options.c:513
#: src/main/options.c:571
msgid "failed to read sysfs size file"
msgstr "sysfs boyut dosyası okunamadı"
#: src/main/options.c:533
#: src/main/options.c:591
msgid "failed to open block device"
msgstr "blok aygıtı açılamadı"
#: src/main/options.c:543
#: src/main/options.c:601
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:710
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:729
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:781
msgid "numeric value not understood"
msgstr "sayısal değer anlaşılmadı"
#: src/main/options.c:743
#: src/main/options.c:801
msgid "integer argument expected"
msgstr "tamsayı bağımsız değişkeni bekleniyor"
#: src/main/options.c:755
#: src/main/options.c:813
msgid "numeric argument expected"
msgstr "sayısal bağımsız değişken bekleniyor"
#: src/main/options.c:767
#: src/main/options.c:825
msgid "missing filename"
msgstr ""
#: src/main/options.c:795
#: src/main/options.c:853
msgid "missing process name"
msgstr ""
#: src/main/options.c:1056
#: src/main/options.c:1114
#, 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:1116
#, 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:1147
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:1156
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:1165
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:1174
msgid "cannot use remote query when watching file descriptors"
msgstr ""
#: src/main/options.c:1125
#: src/main/options.c:1183
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:1208
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:1220
msgid "cannot use remote control and remote query together"
msgstr ""
#: src/main/options.c:1189
#: src/main/options.c:1247
msgid "files cannot be specified with this option"
msgstr ""
+1 -1
View File
@@ -3,7 +3,7 @@
* `configure' script. Include this after config.h and before anything
* else.
*
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew Wood
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+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"
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* Global program option structure and the parsing function prototype.
*
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew Wood
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* Functions internal to the PV library. Include "config.h" first.
*
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew Wood
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* Functions used across the program.
*
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew Wood
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* Output debugging information.
*
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew Wood
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* Output command-line help to stdout.
*
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew Wood
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+1 -1
View File
@@ -2,7 +2,7 @@
* Main program entry point - read the command line options, then perform
* the appropriate actions.
*
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew Wood
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+59 -1
View File
@@ -1,7 +1,7 @@
/*
* Parse command-line options.
*
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew Wood
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
@@ -26,11 +26,15 @@
#endif
#endif
#include <fcntl.h>
#include <limits.h>
#include <unistd.h>
#include <sys/wait.h>
#ifdef HAVE_GETOPT_H
#include <getopt.h>
#endif
#ifdef HAVE_FTW_H
#include <ftw.h>
#endif
void display_help(void);
@@ -412,12 +416,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 +484,35 @@ 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 maxfds, rc_nftw;
maxfds = -1;
#ifdef _POSIX_OPEN_MAX
maxfds = _POSIX_OPEN_MAX;
#endif
if (maxfds < 1) {
maxfds = (int) sysconf(_SC_OPEN_MAX);
}
dir_tree_file_size_so_far = 0;
rc_nftw = nftw(size_file, dir_tree_total_file_size, maxfds, 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 +520,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))) {
+2 -2
View File
@@ -1,7 +1,7 @@
/*
* Output version information to stdout.
*
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew Wood
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
@@ -23,7 +23,7 @@ void display_version(void)
/* GNU standard first line format: program and version only */
printf("%s %s\n", PACKAGE_NAME, PACKAGE_VERSION);
/* GNU standard second line format - "Copyright" always in English */
printf("Copyright %s %s\n", "2025", "Andrew Wood");
printf("Copyright %s %s\n", "2026", "Andrew Wood");
/* GNU standard license line and free software notice */
printf("%s\n", _("License: GPLv3+ <https://www.gnu.org/licenses/gpl-3.0.html>"));
printf("%s\n", _("This is free software: you are free to change and redistribute it."));
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* Functions for updating the calculated state of the transfer.
*
* Copyright 2024-2025 Andrew Wood
* Copyright 2024-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+1 -1
View File
@@ -10,7 +10,7 @@
* terminal, so we try to use a lockfile if terminal locking doesn't work,
* and finally abort if even that is unavailable.
*
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew Wood
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+2 -2
View File
@@ -1,7 +1,7 @@
/*
* Display functions.
*
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew Wood
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
@@ -1339,7 +1339,7 @@ void pv_display(pvprogramstatus_t status, readonly_pvcontrol_t control, pvtransi
&& (NULL != extra_display)
&& (NULL != extra_display->display_buffer)
) {
setproctitle("%s", extra_display->display_buffer);
setproctitle("%s -- %s", PACKAGE_NAME, extra_display->display_buffer);
extra_display->output_produced = true;
debug("%s: [%s]", "processtitle display", extra_display->display_buffer);
}
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* Functions relating to elapsed time.
*
* Copyright 2023-2025 Andrew Wood
* Copyright 2023-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* Functions for opening and closing files, and calculating their size.
*
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew Wood
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* Formatter function for average rate.
*
* Copyright 2024-2025 Andrew Wood
* Copyright 2024-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* Formatter functions for styled progress bars.
*
* Copyright 2024-2025 Andrew Wood
* Copyright 2024-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* Formatter function for transfer buffer percentage utilisation.
*
* Copyright 2024-2025 Andrew Wood
* Copyright 2024-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* Formatter function for bytes or lines transferred.
*
* Copyright 2024-2025 Andrew Wood
* Copyright 2024-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* Formatter function for ETA display.
*
* Copyright 2024-2025 Andrew Wood
* Copyright 2024-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+1 -1
View File
@@ -2,7 +2,7 @@
* Formatter function for the local time at which the transfer is expected
* to complete.
*
* Copyright 2024-2025 Andrew Wood
* Copyright 2024-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* Formatter function for showing the last bytes written.
*
* Copyright 2024-2025 Andrew Wood
* Copyright 2024-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* Formatter function for showing the name of the transfer.
*
* Copyright 2024-2025 Andrew Wood
* Copyright 2024-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* Formatter function for the most recently written line.
*
* Copyright 2024-2025 Andrew Wood
* Copyright 2024-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* Formatter functions for progress bars.
*
* Copyright 2024-2025 Andrew Wood
* Copyright 2024-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* Formatter function for the current rate of transfer.
*
* Copyright 2024-2025 Andrew Wood
* Copyright 2024-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* Formatter function for ECMA-48 SGR codes.
*
* Copyright 2024-2025 Andrew Wood
* Copyright 2024-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* Formatter function for the elapsed transfer time.
*
* Copyright 2024-2025 Andrew Wood
* Copyright 2024-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* Functions providing the main transfer or file descriptor watching loop.
*
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew Wood
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* Functions for converting strings to numbers.
*
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew Wood
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+2 -2
View File
@@ -1,7 +1,7 @@
/*
* Functions for setting the process title.
*
* Copyright 2024-2025 Andrew Wood
* Copyright 2024-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
@@ -110,7 +110,7 @@ void setproctitle(const char *format, ...)
if (length > space_available - 2)
length = space_available - 2;
(void) pv_snprintf(base_argv[0], space_available, "%s -- %s", PACKAGE_NAME, title);
(void) pv_snprintf(base_argv[0], space_available, "%s", title);
if (space_available > length)
memset(base_argv[0] + length, 0, space_available - length);
}
+3 -3
View File
@@ -1,7 +1,7 @@
/*
* Remote-control and remote-query functions.
*
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew Wood
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
@@ -499,7 +499,7 @@ bool pv_remote_check(pvstate_t state)
*
* Returns nonzero on error. If "silent" is false, reports the error.
*/
int pv_remote_transferstate_fetch(pvstate_t state, pid_t query, /*@null@ */ off_t * sizeptr, bool silent)
int pv_remote_transferstate_fetch(pvstate_t state, pid_t query, /*@null@ */ off_t *sizeptr, bool silent)
{
char control_filename[4096]; /* flawfinder: ignore */
FILE *control_fptr;
@@ -653,7 +653,7 @@ int pv_remote_transferstate_fetch( /*@unused@ */
__attribute__((unused)) pid_t query,
/*@null@ */
/*@unused@ */
__attribute__((unused)) off_t * sizeptr,
__attribute__((unused)) off_t *sizeptr,
/*@unused@ */
__attribute__((unused))
bool silent)
+5 -5
View File
@@ -1,7 +1,7 @@
/*
* Signal handling functions.
*
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew Wood
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
@@ -262,7 +262,7 @@ static void pv_sig_term( /*@unused@ */ __attribute__((unused))
* the sending PID.
*/
static void pv_sig_usr2( /*@unused@ */ __attribute__((unused))
int sig, siginfo_t * info, /*@unused@ */ __attribute__((unused))
int sig, siginfo_t *info, /*@unused@ */ __attribute__((unused))
void *ucontext)
{
if (NULL == pv_sig_state)
@@ -278,7 +278,7 @@ static void pv_sig_usr2( /*@unused@ */ __attribute__((unused))
* Return true if a SIGUSR2 signal has been received since the last time
* this function was called, populating *pid with the sending PID if so.
*/
bool pv_sigusr2_received(pvstate_t state, pid_t * pid)
bool pv_sigusr2_received(pvstate_t state, pid_t *pid)
{
if (NULL == state)
return false;
@@ -296,7 +296,7 @@ bool pv_sigusr2_received(pvstate_t state, pid_t * pid)
* the sending PID.
*/
static void pv_sig_usr1( /*@unused@ */ __attribute__((unused))
int sig, siginfo_t * info, /*@unused@ */ __attribute__((unused))
int sig, siginfo_t *info, /*@unused@ */ __attribute__((unused))
void *ucontext)
{
if (NULL == pv_sig_state)
@@ -312,7 +312,7 @@ static void pv_sig_usr1( /*@unused@ */ __attribute__((unused))
* Return true if a SIGUSR1 signal has been received since the last time
* this function was called, populating *pid with the sending PID if so.
*/
bool pv_sigusr1_received(pvstate_t state, pid_t * pid)
bool pv_sigusr1_received(pvstate_t state, pid_t *pid)
{
if (NULL == state)
return false;
+2 -2
View File
@@ -1,7 +1,7 @@
/*
* State management functions.
*
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew Wood
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
@@ -815,7 +815,7 @@ void pv_state_inputfiles(pvstate_t state, unsigned int input_file_count, const c
/*
* Set the arrays of watchfd process IDs and file descriptors.
*/
void pv_state_watchfds(pvstate_t state, unsigned int watchfd_count, const pid_t * pids, const int *fds)
void pv_state_watchfds(pvstate_t state, unsigned int watchfd_count, const pid_t *pids, const int *fds)
{
unsigned int item_idx;
/*@only@ */ struct pvwatcheditem_s *new_array = NULL;
+3 -1
View File
@@ -1,7 +1,7 @@
/*
* Functions for portably managing strings.
*
* Copyright 2023-2025 Andrew Wood
* Copyright 2023-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
@@ -86,7 +86,9 @@ size_t pv_strlcat(char *dst, const char *src, size_t dstsize)
#ifdef HAVE_STRLCAT
size_t result;
/*@-unrecog@ *//* splint doesn't recognise strlcat. */
result = strlcat(dst, src, dstsize);
/*@+unrecog@ */
if ((NULL != dst) && (dstsize > 0))
dst[dstsize - 1] = '\0';
+1 -1
View File
@@ -1,7 +1,7 @@
/*
* Functions for transferring data between file descriptors.
*
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew Wood
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
+3 -3
View File
@@ -1,7 +1,7 @@
/*
* Functions for watching file descriptors in other processes.
*
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2025 Andrew Wood
* Copyright 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2026 Andrew Wood
*
* License GPLv3+: GNU GPL version 3 or later; see `docs/COPYING'.
*/
@@ -336,7 +336,7 @@ static int pidfds(pvstate_t state, unsigned int pid, struct proc_fdinfo **fds, i
/*
* Extend the info array by one, returning false on error.
*/
static bool extend_info_array(int *array_length_ptr, pvwatchfd_t * info_array_ptr)
static bool extend_info_array(int *array_length_ptr, pvwatchfd_t *info_array_ptr)
{
int array_length = 0;
struct pvwatchfd_s *info_array = NULL;
@@ -433,7 +433,7 @@ static int pv_compare_watchfd(const void *a, const void *b)
* read, or 2 for a memory allocation error.
*/
int pv_watchpid_scanfds(pvstate_t state, pid_t watch_pid, int watch_fd, int *array_length_ptr,
pvwatchfd_t * info_array_ptr)
pvwatchfd_t *info_array_ptr)
{
int array_length = 0;
struct pvwatchfd_s *info_array = NULL;
+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
+1 -1
View File
@@ -54,7 +54,7 @@ runWithValgrind () {
ignore-initproctitle-leak
Memcheck:Leak
fun:malloc
fun:initproctitle
src:proctitle.c
fun:main
}
EOF