*** Actual Additions and bug fixes ***
Legend:
+ = Addition/modification
! = Bug fix
+ Add newline to terminal before program exits (for Linux)
+ Added Ctrl-C handlers for Windows and Linux
! fix -to so that if mode specified, it works before and after -to
! Fixed -r option as it had a bug in the file write buffer
+ Added complete free-form command-line handling
+ Added trunc with size option --> -u [x,100]
+ Added full relational operator (<,<=,>,>=,=,!=) support to the -f option
+ Added a byte swapping function for all offsets within a disk file (not STDIN)
+ Prevent display of the '.' character beyond EOF on for the -m clx "" option
! Fixed the acceptance of from STDIN (-) on the -m clx "" option
+ Added <<fdump>> banner in the display output for the usage screen
+ Added full "long options" support; e.g., --create
+ Added this banner to the -h output's first line "FDUMP: General file manipulation program."
+ Added a new "long option" `--create' that can create a new file
+ Allowed the -a command line option to create a file if it does not exist;
note, the --create command line option is a synonym for -a 0|-a 0 X<--(value ignored)
+ Added full inter-whitespace (single space character or tab) throughout the command line;
Fdump implements its own internal parser now, though script files are not supported;
for example, fdump FILE -u " [ 0 -1 ^87 , 57| 32] " is now a valid command
line, where before it would have been completely invalid
+ Added additional file information for the -s option such as, file creation, modification,
access times and the file size in bytes, KB, MB or GB on the same line depending upon size
! Fixed a bug in printing output when two or more files were processed between each file's output
+ Completely re-did the usage display output so that it is much clearer and easier to understand
as fdump's command-line has become complex
+ Added the full delete offsets option on regular files allowing N number of offset(s)
to be deleted from a file including interspersed ranges; aka, "swiss-cheese" a file
+ changed the command-line argument for -i to -a (for append) as it really extends a file
past its current last offset. -i historically meant (increase), but this is now reserved
for the `i' operator within the -u [] context for (insert)
+ Added a new overloaded form to the -u [] construct that swaps all offsets specified; e.g.,
-u [0-4<>72-76...N] within a disk file
+ Added brand new insertion method as a new overloaded form to -u [i...]; inserts one or more
offsets directly into a disk file, growing its size proportionately
! Fixed bug in mode handler when outputting more than one file; its state was not being reset,
so output per line was not consistent after the first file was processed on a given mode
! Fixed bug in B64 mode if a padding character was specified; it was outputting the padding
character, even on the last octet processed
+ Made the error printout for -d b[B]16 consistent with Base64/32 errors if an invalid character
was detected within the input sequence