github a-j-wood/pv v1.7.17

latest releases: v1.7.24, v1.7.18
9 months ago

New transfer modification features for sync and direct I/O, a minor display formatting fix, extensions to the test framework, and the first round of cleanups.

  • feature: new "--sync" option to flush cache to disk after every write (related to GH#6, to improve accuracy when writing to slow disks)
  • feature: new "--direct-io" option to bypass cache - implements GH#29 "Option to enable O_DIRECT" - requested by Romain Kang, Jacek Wielemborek
  • fix: correct byte prefix size to 2 spaces in rate display, so progress display size remains constant at low transfer rates
  • cleanup: rewrote configure.in as per suggestions in newer "autoconf" manuals
  • cleanup: replaced header.in with one generated by "autoheader", moving custom logic to a separate header file "config-aux.h"
  • cleanup: added copyright notice to all source files as per GNU standards
  • cleanup: changed "--version" output to conform to GNU standards
  • cleanup: replaced backticks with $() in all shell scripts that did not come from elsewhere, as backticks are deprecated and harder to read
  • cleanup: improved the output formatting of "make test"
  • cleanup: extended the "make test" mechanism to allow certain tests to be skipped on platforms that cannot support them
  • cleanup: skip the "pipe" test (for SIGPIPE) if GNU "head" is not available, so that "make test" on stock OpenBSD 7.3 works
  • cleanup: added a lot more tests to "make test"
  • cleanup: replace all calls to sprintf() and snprintf() with a new wrapper function pv_snprintf() to improve security and compatibility
  • cleanup: replace all calls to strcat() with a wrapper pv_strlcat() to improve security and compatibility
  • cleanup: replace all write() calls to the terminal with a wrapper pv_write_retry() for consistency
  • cleanup: tidy up and fix compilation warning in "--watchfd" code
  • cleanup: rewrote all local shell scripts to pass analysis by ShellCheck

Don't miss a new pv release

NewReleases is sending notifications on new releases.