Progress: add support for determining quotes in use, other fixes and cleanups.
While not enthusiastic about this, I believe that I need to report the quote used to the caller.
Make this an optional parameter.
This took some significant consideration.
Not all standards utilize quotes and I also do not want to make FSS object and content types more complex than ranges.
Using a separate variable, while a bit more tedious in having to maintain consistency, is an acceptable approach.
FSS-0000 objects, FSS-0001 objects, and FSS-0001 contents all use the same logic for identifying their types.
Reduce code by using the same function.
Because FSS-0001 contents is an array of contents, move delimit processing outside of the private function.
Replace (used + 1 > size) checks with (used == size) checks to increase performance by avoiding arithmetic operations.
Replace (used <= 0) checks with (used == 0) checks to remove unnecessary checks.
Replace (used != 0) checks with (used) checks to avoid extra processor work.
When incrementing and decrementing buffer, do not report used as an error, instead just return F_data_not.
Shorten pre_allocate_size to size_allocate.
Stop setting F_unterminated_group_stop and F_unterminated_group_eos as warnings.
This was not done consistently.
Rename buffer to destination for FSS write functions.
At some point in the past I was wanting to use while loops more exclusively.
After some some significant time and consideration, I have decided to abandon that idea.
Use for loops where they make more sense over while loops.