Andrew Wood
a33ee8ef26
Avoid a comparison of signed and unsigned values.
2026-03-09 20:28:05 +00:00
heitbaum
6d8fbbf848
fix discard const qualifier from pointers
...
Since glibc-2.43 and ISO C23, the functions bsearch, memchr, strchr, strpbrk, strrchr, strstr, wcschr, wcspbrk, wcsrchr, wcsstr and wmemchr that return pointers into their input arrays now have definitions as macros that return a pointer to a const-qualified type when the input argument is a pointer to a const-qualified type.
Fixes:
../src/pv/display.c: In function 'pv__format_init':
../src/pv/display.c:715:37: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
715 | strchr(format_component_array[component_idx].match, (int) ':');
| ^~~~~~
2026-03-09 01:27:04 +01:00
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
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
e17f64fce7
Allow "--size @dir" to read the size of all files under "dir" ( #179 ).
2026-03-07 22:23:10 +00:00
Andrew Wood
3af38221ee
Correct the process title truncation.
2025-12-12 23:12:03 +00:00
Andrew Wood
ca7997fe7d
Use the new watchfd_count to size the array, not the one we just zeroed, otherwise multiple --watchfd arguments result in a memory error ( #170 )
2025-11-12 14:31:22 +00:00
Andrew Wood
282823f660
Correct the stub functions used when PV_REMOTE_CONTROL is not set.
2025-10-30 22:54:02 +00:00
Andrew Wood
2904eacefe
Use the per-fd stoppage time rather than the global one ( #169 ).
2025-10-29 21:31:23 +00:00
Andrew Wood
5d538da63a
Add the stoppage time to the each of currently watched fds' counters ( #169 ).
2025-10-29 21:30:43 +00:00
Andrew Wood
fdfceb79c6
Add a TODO marker for next planned steps.
2025-10-28 23:34:42 +00:00
Andrew Wood
5aff62414a
Add a total stoppage time counter to the per-fd watchfd structure ( #169 ).
2025-10-28 23:34:26 +00:00
Andrew Wood
c7a6f85dd2
Remove unnecessary splint annotation.
2025-10-28 21:39:54 +00:00
Andrew Wood
22e9e00f63
Move the array of watchfd item information into the main state, instead of being local to the watchfd loop, so that in future we can add stoppage time to individual fd info and it will be accessible to the signal handler ( #169 ).
2025-10-27 20:41:32 +00:00
Andrew Wood
60ca91209a
Rename structure members for clarity - "tstp_time" becomes "when_tstp_arrived", and "toffset" becomes "total_stoppage_time".
2025-10-27 19:20:22 +00:00
Andrew Wood
82283ee434
Remove the TODO now it is done.
2025-10-26 12:56:28 +00:00
Andrew Wood
42cf7ed628
Move the remote control code into the pv library.
2025-10-26 12:55:15 +00:00
Andrew Wood
b1cac9b78d
Record all old-style formatting options, and the full string for the extra display spec, in the control structure; make pv_remote_set only use internal pv state structures so it can be part of the internal pv library where it belongs, and not need to know about main()'s options array.
2025-10-26 12:53:51 +00:00
Andrew Wood
528889888c
Always calculate the elapsed transfer time every time around the loop, even if not displaying anything; and take -W into account so the elapsed time doesn't start ticking up until the first byte or line transferred, even if not displaying anything - so that -Q will report the right thing when querying a "pv -n" ( #101 ).
2025-10-26 12:06:32 +00:00
Andrew Wood
e6e6ab3b6d
Consolidate repeated code into new pv__elapsed_transfer_time function.
2025-10-26 11:49:35 +00:00
Andrew Wood
d2d3ec1cde
Add a TODO marker for the next step.
2025-10-26 01:35:53 +01:00
Andrew Wood
f518257bc9
Consolidate repeated code into new pv__show_stats function.
2025-10-25 22:49:33 +01:00
Andrew Wood
96a411671c
Consolidate repeated code into new pv__resize_display_on_signal function.
2025-10-25 00:43:59 +01:00
Andrew Wood
f07a7b1c87
Correct the noise interrupting the display of the original pv if the querying pv is terminated. Correct the transfer of size information to main() so that ETA can still be shown. ( #101 )
2025-10-24 09:24:31 +01:00
Andrew Wood
7598b4d46c
Add pv_query_loop() to run a main loop watching another pv ( #101 ).
2025-10-24 09:00:10 +01:00
Andrew Wood
15ed99eee7
Implement --query message send/receive ( #101 ).
2025-10-23 23:27:34 +01:00
Andrew Wood
f125f41428
Correct the comment naming pv__target_bufsize, which should be control.target_buffer_size.
2025-10-23 21:26:34 +01:00
Andrew Wood
2e9fc77ccd
Add -Q to the remote check comments ( #101 ).
2025-10-22 17:55:43 +01:00
Andrew Wood
590a3535d8
Don't keep PV_REMOTE_QUERY separate from PV_REMOTE_CONTROL after all since they will need to work together; extend pv_remote_check() so it will check for both -R and -Q signals ( #101 ).
2025-10-21 23:39:17 +01:00
Andrew Wood
b34bba8b4a
Remove unused pv_remote_init, pv_remote_fini functions; add initial stubs for -Q ( #101 ).
2025-10-21 23:17:23 +01:00
Andrew Wood
4f82525c39
Correct the comment at the end of the conditional.
2025-10-21 23:03:30 +01:00
Andrew Wood
8361ed1fe2
Rename signal.sender to signal.sender_usr2 so it is specific to SIGUSR2 ( #101 ).
2025-10-21 22:15:23 +01:00
Andrew Wood
9bd96614b3
Add an action type for query mode, and more TODOs to plan how it will work ( #101 ).
2025-10-21 22:11:10 +01:00
Andrew Wood
d27672b7a3
Declare pv_open_controlfile so it can be used for the query action ( #101 ).
2025-10-21 22:10:38 +01:00
Andrew Wood
36d82e313a
Rename pv__control_file to pv_open_controlfile, and move it in with the other file functions so it can be used by both the remote-control and the remote-query code ( #101 ).
2025-10-21 22:09:44 +01:00
Andrew Wood
8b3b61e2d3
Separate the data transfer modifier options from the alternative operating mode options.
2025-10-21 21:13:27 +01:00
Andrew Wood
60067ed4ea
Define whether --query should be available, based on the same criteria as --remote for now ( #101 ).
2025-10-21 20:59:32 +01:00
Andrew Wood
de71cc2389
Prevent the use of any non-option arguments with -R or -Q ( #101 ).
2025-10-21 20:48:44 +01:00
Andrew Wood
3f1782a573
Draft manual entry, help text, and option parsing for "--query" option ( #101 ).
2025-10-20 21:17:59 +01:00
Andrew Wood
1a70cc228a
Correction to the description and removal of the TODO marker; and use the transfer interval as the time to wait after closure ( #81 ).
2025-10-17 22:50:33 +01:00
Andrew Wood
17ca4fc9c9
Keep displaying --watchfd fds for a short time after they are closed, and don't clear the display at the end but just move the cursor past it ( #81 ).
2025-10-17 20:40:14 +01:00
Andrew Wood
0aac6d6aac
Add comments and "pid_last_seen", "fd_last_seen" structure members for proposed new logic that will hold fd info on-screen a short time after closure, to retain the progress display when a watched process exits ( #81 ).
2025-10-17 19:09:46 +01:00
Andrew Wood
61021eab6b
Remove the TODO markers for #81 as this work will be done in a separate branch.
2025-10-17 17:52:33 +01:00
Andrew Wood
972f8b7df8
Re-order no_splice and sparse_output relative to other flags to more closely match the order they appear in the manual.
2025-10-15 23:23:16 +01:00
Andrew Wood
a40bdfb55f
Merge branch 'issue45_sparse' ( #45 ).
2025-10-15 23:17:05 +01:00
Andrew Wood
3c9ab822fe
Call lseek() at the start if output is appending, so that future lseek()s are relative to the right position, fixing the issue with incorrect truncation size ( #45 ).
2025-10-15 23:08:33 +01:00
Andrew Wood
fb5ce33518
Add debugging messages about truncation and seeking ( #45 ).
2025-10-15 22:43:56 +01:00
Andrew Wood
5c15337662
Only call ftruncate() once, when the output file descriptor is closed at the end, instead of after every lseek() - this corrects the file growth on XFS but has the side effect that writing to stdout in >> (append) mode truncates the file to the wrong size ( #45 ).
2025-10-15 22:32:21 +01:00