Commit Graph
67 Commits
Author SHA1 Message Date
Andrew Wood 60936080da Move the "--size @FILE" file size reading into its own function for clarity; standardise its error message format to "program: file: message: detail"; uniquely name variables; refuse to accept a directory as a file; and with this option, try reading the size of a block device from sysfs if we can, to avoid requiring read permissions on the device. 2024-08-06 23:17:15 +01:00
Alexander Perlis f6b0ddc0b3 Support block devices in @-syntax 2024-08-01 00:36:02 +00:00
Andrew Wood 72e5078ce9 Move the MAKE_OUTPUT_NONBLOCKING code to state.c, as it can no longer work in main.c due to accessing internal structures; but still leave it switched off by default for now. 2024-07-16 22:41:31 +01:00
Andrew Wood 12f0312b00 Move the "stop at size" option setting to before the size calculation, otherwise if the size calculation tries to override that setting, it cannot do so (#91). 2024-07-16 21:58:47 +01:00
Andrew Wood f8fc5844b1 Re-order the output file descriptor setting and the size detection to correct the problem with output block device size detection that was broken in 1.8.10 (#91). 2024-07-16 21:39:29 +01:00
Andrew Wood 2bed6776e4 Truncate files written with "-o". 2024-06-08 22:02:11 +01:00
Andrew Wood 01e0290d6e More replacement of hard-coded exit status bitmask values with named constants. 2024-06-08 21:57:36 +01:00
Andrew Wood addf25ff16 Minor cleanups after merge. 2024-06-08 21:21:11 +01:00
Martin Dørum 6073445551 document the --output in the man page and help text 2024-06-08 14:31:21 +02:00
Martin Dørum 30763684b7 add -o/--output option 2024-06-08 14:31:19 +02:00
Andrew Wood 98994bbeaa Correct the copyright year in the "--version" output. 2024-04-22 22:25:22 +01:00
Andrew Wood d3c59cbff3 Minor comment formatting correction. 2024-04-20 21:31:17 +01:00
Andrew Wood 8bc1cc28d0 Check for zero-length $HOME and document the reason flawfinder's warning is being ignored. 2024-04-20 21:01:04 +01:00
Andrew Wood 1ad9c321bc Adjust copyright years. 2024-03-19 22:19:42 +00:00
Andrew Wood c9dede08d4 Adjust the decimal units flag variable name from "si" to "decimal_units" so it does not overlap with other words like "size" and "signal"; add man page entry and adjust the "-L" man page entry; and allow this flag to also change how input prefixes are processed. 2024-03-19 22:17:43 +00:00
kevinruddy fe8137521a Support for decimal SI units 2024-03-19 16:57:57 -04:00
Andrew Wood dbf55eff3c For message passing for "--remote", fall back to $HOME/.pv instead of /tmp if /run/user/<uid> is unavailable. 2023-10-01 12:41:27 +01:00
Andrew Wood 0e1750835e Rewrite of "--remote", to use a temporary file for information exchange instead of a SysV IPC message queue, to correct the fault where "make check -j32" would fail due to every PV exit removing the message queue. 2023-10-01 01:20:16 +01:00
Andrew Wood 08ee154c09 Add more debugging to message receipt check, in sender. 2023-09-25 21:51:45 +01:00
Andrew Wood 1e91713bb6 Add debugging to message receipt check, in sender. 2023-09-25 21:32:14 +01:00
Andrew Wood e5cc71b4d2 Switched licensing to GPLv3+. 2023-09-24 21:09:52 +01:00
Andrew Wood 2033c6085f Addressed more issues raised by splint. 2023-09-23 21:53:31 +01:00
Andrew Wood 780b65a648 More type corrections. 2023-09-16 23:14:16 +01:00
Andrew Wood 20b8c9700a Rename the functions to better describe what they do, remove single-letter variable names, add more explanatory comments, remove "_t" suffix from typedef as per FreeBSD style guide. 2023-09-16 00:55:40 +01:00
Andrew Wood 252213fbc2 Addressed more issues raised by splint, and corrected some type confusion between off_t and size_t / ssize_t. 2023-09-14 22:19:49 +01:00
Andrew Wood 153285bec0 Use off_t for file sizes, size_t for buffer sizes. 2023-09-13 23:17:53 +01:00
Andrew Wood 8a2ddac50e Type consistency corrections - use booleans for boolean operations, use size_t for byte counts. 2023-09-12 23:42:23 +01:00
Andrew Wood 896727b664 Addressed the issues raised by splint and flawfinder. 2023-09-10 23:04:43 +01:00
Andrew Wood 86feafb721 Rename "doc" directory to "docs" to match Debian standards. 2023-09-03 00:40:26 +01:00
Andrew Wood 78bb93b288 Move terminal TOSTOP attribute changes into signal handling functions and only set/unset that attribute rather than saving and restoring the whole terminal state; keep track of whether we have changed it and change cursor positioning IPC data to a structure so the state change can be shared with all "pv -c" instances. 2023-09-02 22:06:31 +01:00
Andrew Wood 2b341c1a7f Minor consistency fixes. 2023-09-02 01:33:11 +01:00
Andrew Wood 14ce832249 New "--error-skip-block" option. 2023-09-02 01:21:18 +01:00
Andrew Wood d51a1b10f0 Corrections to file header comments. 2023-08-31 21:49:27 +01:00
Andrew Wood b7eb3c9e90 Record whether the width or height were set manually, and refrain from changing a manually set value when the terminal size changes. 2023-08-28 22:03:14 +01:00
Andrew Wood 9e5bdeb3a4 Added "--discard" option. 2023-08-28 21:05:45 +01:00
Andrew Wood 2a092c9495 Rename "null" state boolean to "null_terminated_lines" so it is more descriptive and less confusing. 2023-08-28 16:18:51 +01:00
Andrew Wood 10296f93e4 Use dormant code to calculate total line count in line mode when all inputs are regular files, and fix unwise variable naming in size calculation functions, no more "i" and "j". 2023-08-28 16:12:31 +01:00
Andrew Wood 66cae656d1 Rename state variable "no_op" to the more descriptive "no_display", as pv is not doing nothing when this is set, it is still transferring data. 2023-08-28 15:20:51 +01:00
Andrew Wood e99548ea8a Major restructuring to switch build system from old scripts to GNU Automake. 2023-08-28 10:04:39 +01:00
Andrew Wood fb8bea390c Use mkstemp() to write the PID file more safely, avoiding potential symlink issues. 2023-08-26 21:45:31 +01:00
Andrew Wood fe22f0e449 Store name and format string in internal state as their own copies rather than pointers to strings outside the state, for memory safety and to avoid a leak on remote control. 2023-08-26 20:49:30 +01:00
Andrew Wood 4c9f304a46 Adjustments and annotations as per splint and flawfinder reports, and a TODO marker for upcoming memory management cleanup work. 2023-08-15 22:32:13 +01:00
Andrew Wood 4cd28b23f0 Adjustments and annotations as per splint and flawfinder reports. 2023-08-14 23:07:37 +01:00
Andrew Wood b2989efd5c Added TODO highlighted by flawfinder. 2023-08-14 22:54:02 +01:00
Andrew Wood cc4d1a15e4 Make the filenames in the list constant. 2023-08-14 22:37:23 +01:00
Andrew Wood 7f25aff91d Adjustments and annotations as per splint and flawfinder reports. 2023-08-14 22:33:06 +01:00
Andrew Wood f01117d84e Adjustments and annotations as per splint and flawfinder reports. 2023-08-14 20:56:11 +01:00
Andrew Wood 943c05a8a0 Reformatted with "indent" to a line length of 120. 2023-07-29 22:21:32 +01:00
Andrew Wood 630d92fef6 Added splint annotation. 2023-07-29 22:19:43 +01:00
Andrew Wood 34fe796806 Refactored "--help" to support multi-byte character locales when word wrapping, and clear all "splint" and "flawfinder" warnings. 2023-07-29 21:32:34 +01:00