Andrew Wood
|
9f63212a7c
|
Add pv_asprintf() and change the way the terminal lock file is stored, so it is in a dynamically allocated buffer rather than using one of a fixed size.
|
2026-04-19 16:24:26 +01:00 |
|
Andrew Wood
|
d638cd50f4
|
Remove pv_bound_long() and the blanket 100,000 hour cutoff - instead, clamp the ETA to just under 100,000 hours (to keep it from getting too wide), clamp the FINETA to a max of 7,000 years (to keep the date the same width), and make the timer show an overflow message when 1,000,000 days is reached.
|
2026-04-19 13:02:03 +01:00 |
|
Andrew Wood
|
7dc02a475e
|
Make pv_error() and pv_perror() available outside of src/pv/, and use them throughout the program.
|
2026-04-18 22:23:28 +01:00 |
|
Andrew Wood
|
b12681d667
|
Add a pv_perror() function to remove all the repeated strerror(errno) calls from pv_error() arguments, and standardise the error lines so the filename in question always comes first.
|
2026-04-18 21:07:08 +01:00 |
|
Andrew Wood
|
d8cc637b56
|
Add the "%{ratio}" formatter (#67).
|
2026-04-03 21:49:41 +01:00 |
|
Andrew Wood
|
8f19633dd7
|
In "-M both" mode, exchange information about the total amount transferred with the other side (#67).
|
2026-04-03 21:12:13 +01:00 |
|
Andrew Wood
|
d7327aaf95
|
Replace pv_state_set_format() with pv_set_format_options(), which takes a structure rather than a long list of arguments, to make it easier to pass around - and rely on pv_state_name_set() being called first rather than doing it within this function, so it is only doing one job (#67).
|
2026-04-03 20:00:42 +01:00 |
|
Andrew Wood
|
00f06f2b2c
|
Pass the othermonitor_* values into the main state, and add TODO markers for next steps (#67).
|
2026-03-29 21:49:47 +01:00 |
|
Andrew Wood
|
0a27a85b4a
|
Update the copyright years.
|
2026-03-07 23:20:20 +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
|
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
|
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
|
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
|
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
|
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
|
6b8acd9e01
|
Add sparse_output option and control flags, and an output_not_seekable transfer flag, to structures for "sparse output" mode in future (#45).
|
2025-10-12 18:12:43 +01:00 |
|
Andrew Wood
|
72d9efc993
|
More specific TODOs for one way of implementing #81.
|
2025-10-07 22:17:10 +01:00 |
|
Andrew Wood
|
64c4e8efb9
|
Add TODO markers for one way of implementing #81.
|
2025-10-06 18:03:46 +01:00 |
|
Andrew Wood
|
25dadb2bfd
|
Add a comment describing what this structure is for.
|
2025-10-06 18:01:57 +01:00 |
|
Andrew Wood
|
be066f6c8c
|
Restrict the amount to read when --stop-at-size is active so that reads, as well as writes, never go past --size bytes (#166).
|
2025-09-30 22:27:25 +01:00 |
|
Andrew Wood
|
d903a7d188
|
Add a return value to pv_remote_check() so its caller can know whether a message was received.
|
2025-09-29 21:31:05 +01:00 |
|
Andrew Wood
|
10ef5a8596
|
If watching more than one distinct PID with --watchfd, display the PID as well as the FD number (#12).
|
2025-09-28 16:36:06 +01:00 |
|
Andrew Wood
|
3ea19829d7
|
Merge pv_watchpid_loop into pv_watchfd_loop, and allow multiple PID / PID:FD sets to be watched at once (#12).
|
2025-09-27 17:55:18 +01:00 |
|
Andrew Wood
|
c49fc4aa57
|
Eliminate the fd_to_idx array in --watchfd, so that file descriptors aren't constrained to FD_SETSIZE and so we don't have to track another array.
|
2025-09-26 23:40:39 +01:00 |
|
Andrew Wood
|
7fdb6716e1
|
In the pvwatchfd_s structure, use booleans "displayable" and "unused" instead of having values of watch_pid=0 for unused and watch_fd=-1 for not displayable, so that each item only means one thing.
|
2025-09-26 23:01:07 +01:00 |
|
Andrew Wood
|
b5fbd1978e
|
Replace watch_pid, watch_fd with arrays, though for now only use the first item in the arrays (#12).
|
2025-09-21 19:50:56 +01:00 |
|
Andrew Wood
|
dbce5b355e
|
Add --watchfd option values to an array in the main state, as well as to the currently used variables (#12).
|
2025-09-17 23:12:13 +01:00 |
|
Andrew Wood
|
4a0f9e713c
|
Define struct pvwatchspec_s for future use in an array for --watchfd, and add a comment defining nullable_string_t.
|
2025-09-16 23:05:41 +01:00 |
|
Andrew Wood
|
8771b901d9
|
Add TODO markers as part of looking at supporting multiple "-d" options (#12).
|
2025-09-15 20:12:55 +01:00 |
|
Andrew Wood
|
1e6c9704b1
|
Adjustments to remove the need for the unqualifiedtrans and nullstate splint workarounds.
|
2025-09-14 16:39:47 +01:00 |
|
Andrew Wood
|
ad1d0e1c9a
|
In the watchfd info array, instead of using copies of the global state, each fd has its own flags, transfer, calc, and display sub-structures (#165).
|
2025-07-28 00:25:14 +01:00 |
|
Andrew Wood
|
4f9d746823
|
Split the state reset functions into smaller pieces, so sub-structures can be reset individually (#165).
|
2025-07-27 23:24:56 +01:00 |
|
Andrew Wood
|
a7f392e3c3
|
Address splint warnings about setting and clearing state->control.name (#165).
|
2025-07-27 21:34:46 +01:00 |
|
Andrew Wood
|
574ea04502
|
Instead of adding an aliased display name and having to maintain it and treat it differently, go back to keeping the name only in the "control" sub-structure of the state, but share the global state "control" across all watched fds, and just change it before each pv_display() call so it points to the relevant fd display_name when needed (#165).
|
2025-07-27 21:23:41 +01:00 |
|
Andrew Wood
|
6a2b9a2788
|
Add an alias for the name for %N to the display sub-structure, so that the name can be varied between displays without having to alter the control value (#165).
|
2025-07-27 19:53:28 +01:00 |
|
Andrew Wood
|
e04f50f0dc
|
Change all cursor positioning functions to use sub-structures rather than the whole state structure, and if turning off cursor positioning, do so via a new flag "cursor->disable" rather than changing the operator-supplied options in "control" (#165).
|
2025-07-27 17:05:04 +01:00 |
|
Andrew Wood
|
021dc6e054
|
Pass individual sub-structures to pv_display, but still keep state for now, until the functions cursor.c have been updated to take sub-structures rather than the whole state (#165).
|
2025-07-27 15:56:03 +01:00 |
|
Andrew Wood
|
7d7efac7c6
|
Move the terminal_supports_utf8, terminal_supports_colour, and checked_colour_support flags out of "control" and into "status", as they are not operator-supplied options, but are program-generated status flags; this will allow "control" to remain read-only for larger parts of the program (#165).
|
2025-07-27 15:37:16 +01:00 |
|
Andrew Wood
|
f79bed3cb8
|
Rename "can_display_colour" and "can_display_utf8" to "terminal_supports_colour" and "terminal_supports_utf8" to make it clearer that these are not operator-supplied option settings, they are derived from terminal capabilities (colour) and the environment (UTF-8).
|
2025-07-27 15:20:05 +01:00 |
|
Andrew Wood
|
960ff1572f
|
Pass state->status, rather than state itself, to pv_format (#165).
|
2025-07-27 00:31:45 +01:00 |
|
Andrew Wood
|
da2a2e6fd2
|
Remove the state from the pv_error arguments, by adding a new function pv_set_error_prefix to call on startup, eliminating the need for a state program_name string; and add a private boolean to track whether there has been any output which means errors need preceding by a newline, which is updated by pv_display directly (#165).
|
2025-07-27 00:22:57 +01:00 |
|
Andrew Wood
|
005bc2f841
|
Pass the sub-structures separately to pv_format and pv__format_init rather than the whole state; but still pass state for now, as pv_error needs it (#165).
|
2025-07-26 22:49:29 +01:00 |
|