Page MenuHomeFreeBSD

strfmon: Fix negative sign handling for C locale
ClosedPublic

Authored by jlduran on Wed, Nov 26, 2:52 AM.

Details

Summary

If the locale's positive_sign and negative_sign values would both be
returned by localeconv() as empty strings, strfmon() shall behave as if
the negative_sign value was the string "-".

This occurs with the C locale. The implementation now checks that
int_{n,p}_sign_posn and {n,p}_sign_posn are properly initialized, as per
localeconv(3) - valid values are 0-4. If not initialized, they are set
to 1, which positions the sign before the string.

Austin Group Defect 1199 is applied, changing the requirements for the
'+' and '(' flags.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision is now accepted and ready to land.Wed, Nov 26, 5:07 PM

Sorry, I opted for a simpler fix.

This revision now requires review to proceed.Wed, Nov 26, 7:23 PM
This revision is now accepted and ready to land.Wed, Nov 26, 8:02 PM