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()
andsnprintf()
with a new wrapper functionpv_snprintf()
to improve security and compatibility - cleanup: replace all calls to
strcat()
with a wrapperpv_strlcat()
to improve security and compatibility - cleanup: replace all
write()
calls to the terminal with a wrapperpv_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