Thanks. The patch looks fine.
My only suggestion would be a stylistic one, to change the ">"
comparison to be the equivalent "<" one, i.e., change this:
+ && *suffix == 'B' && (suffix > str && suffix[-1] != 'B'))
to this (also dropping the unnecessary parentheses):
+ && *suffix == 'B' && str < suffix && suffix[-1] != 'B')
Why? Because of the increasing-to-right number-line argument, where
smaller things are visually on the left of larger ones.
Currently, in src/, the uses of space-delimited < and <= outnumber
uses of > and >= by four to one, 1678 to 428.