Commit Graph
169 Commits
Author SHA1 Message Date
Andrew Wood bca6fc9542 Tidy up the comments. 2026-04-11 13:39:51 +01:00
Andrew Wood 2ff99ab1cd Add TODO markers for elimination of fixed size buffers. 2026-04-09 22:01:54 +01:00
Andrew Wood 593723ba92 Explain the error branch. 2026-04-09 21:58:38 +01:00
Andrew Wood 989a34b7c7 Explain what's going on with realloc(). 2026-04-09 21:44:57 +01:00
Andrew Wood 0eab393715 Make it clearer what display_word_wrap() does and set the margins more appropriately when the terminal size is small. 2026-04-07 23:08:53 +01:00
Andrew Wood 52585447f0 Correct the wrapping width on lines after the first, improve the commenting, and avoid size_t underflow on very narrow terminals. 2026-04-07 22:20:55 +01:00
Andrew Wood f4a3d61a17 Restructure the "monitor remaining side" part to avoid the need for a fallthrough in the case statement, getting rid of compiler warnings on CentOS 5, 6, and 7, and arguably making the code easier to follow. 2026-04-06 16:07:56 +01:00
Andrew Wood 3aac6a7b64 Tidy up the comments. 2026-04-05 20:23:38 +01:00
Andrew Wood fc23d71226 Return an error from pv__write_pidfile() if the final rename() fails. 2026-04-05 19:34:00 +01:00
Andrew Wood c2474f5c33 Tidy up the comments. 2026-04-05 19:30:51 +01:00
Andrew Wood bd5b709dda Calculate the size, in monitor mode (#67). 2026-04-04 21:43:43 +01:00
Andrew Wood 7892e54d7e Rather than setting an option flag for ratio, add it to the default format string on the "out" side (#67). 2026-04-03 20:20:50 +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 80358e84f3 If no display options are passed and "-M both" is active, set a "ratio" option flag to display the in:out ratio as well (#67). 2026-04-02 23:08:49 +01:00
Andrew Wood 8ef4ff2e84 If an empty format string is supplied, such as -F "", make that imply -q and cancel -c, so that -F "" -F "%b %t %r %p %e" -M both will monitor both sides but only display the output side - which will be useful when ratio is added (#67). 2026-03-30 21:41:16 +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 2a54d4edcc Set up a pair of pipes for the in and out monitors to use to pass progress details between each other, and replace repeated "close if open" code with a macro (#67). 2026-03-28 22:40:45 +00:00
Andrew Wood 8281b918ef Add a TODO marker for monitor mode suggesting another way to pass ratio information between in and out (#67). 2026-03-27 22:28:07 +00:00
Andrew Wood 7edbd3e951 Add a TODO about how to get ratio information (#67). 2026-03-24 23:06:36 +00:00
Andrew Wood d98237134b Adjust the -M help so it specifies the range of accepted values (#67). 2026-03-23 22:33:25 +00:00
Andrew Wood c8e13d226b Wait for the other processes associated with monitoring mode before returning, closing stdout beforehand so the monitored command will end (#67). 2026-03-21 15:47:07 +00:00
Andrew Wood 7be959ece1 Add more debugging, and pass a dummy input file list of just "-" to the monitoring transfer loop (#67). 2026-03-20 23:13:33 +00:00
Andrew Wood b3896f93b2 Add more debugging, and set the pipefd entries to -1 after closing them to avoid double-close (#67). 2026-03-20 23:00:44 +00:00
Andrew Wood 09a55ef62a Put the constant on the left hand side to avoid accidental assignment if an "=" is omitted (#67). 2026-03-20 22:14:35 +00:00
Andrew Wood 149be3f9ab Run the transfer main loop for the in and out monitoring sides, using another process for "out" if monitoring both (#67). 2026-03-20 22:12:14 +00:00
Andrew Wood f647b12a2d Pass through "make indent" for consistency (#67). 2026-03-20 22:11:19 +00:00
Andrew Wood ff8e396500 Do not add the monitor command arguments as PV input files; and execute the monitor command in the monitor process (#67). 2026-03-19 22:58:47 +00:00
Andrew Wood 04f99c4951 Use a special type for opts->argv[] so that the whole array, and array entries, can both be NULL, and the array entries pointers to constant strings; and ensure that argv[] always has a NULL pointer on the end - all so argv can be passed to execvp() (#67). 2026-03-19 22:57:41 +00:00
Andrew Wood 29c65ad9e1 Set up stdin/stdout for the monitored command (#67). 2026-03-18 22:28:51 +00:00
Andrew Wood f84a668098 Fork for the command to monitor (#67). 2026-03-17 23:41:23 +00:00
Andrew Wood 06721c7be1 Create pipes for monitoring (#67). 2026-03-14 22:34:17 +00:00
Andrew Wood 220625f370 Add TODO markers for the next steps of monitor mode (#67). 2026-03-14 21:50:50 +00:00
Andrew Wood 4606638567 Constrain the options so that -M cannot be used with -U (as it is a different action) and -M will report the right error message if mixed with -R or -Q (#67). 2026-03-14 17:20:30 +00:00
Andrew Wood 882428883a Remember both -N and -F values if two were given (#67). 2026-03-14 14:54:53 +00:00
Andrew Wood c2bbb8eef1 Parse the monitoring side setting from "--monitor" (#67). 2026-03-14 14:28:30 +00:00
Andrew Wood 111b687449 Give "--monitor" a parameter to set which side(s) of the command to monitor (#67). 2026-03-13 23:06:43 +00:00
Andrew Wood 5f1893f094 Draft documentation and option parsing for a "--monitor" option to run a command and monitor its input and output (#67). 2026-03-11 23:37:09 +00:00
Andrew Wood a33ee8ef26 Avoid a comparison of signed and unsigned values. 2026-03-09 20:28:05 +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 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 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 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