Feature: support non-ASCII currency separator #9121
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation / Problem
The currency separator, in the configuration for the INI file is a single character which means only ASCII characters may be used as separator. The separator field itself is 8 bytes long, so it feels like someone did consider non-ASCII characters but did not follow through.
Next to this the string length limiting that is happening when writing the string into the configuration could cause a valid multibyte encoded Utf8 character to only be placed there partially. As a result, the configuration has become an "invalid" string.
Description
Solved by:
Limitations
Support for a single character in a configuration file is lost, though technically that was already effectively a 2 byte string as it will always set the byte after the character to '\0'. However, the currency separator was the only thing that made use of it.
Checklist for review
Some things are not automated, and forgotten often. This list is a reminder for the reviewers.