I wrote:
> The result I would have expected is therefore:
> currency = ||
> positive sign = ||
> negative sign = ||
> strfmon result for positive value = |  123|
> strfmon result for negative value = |  123|

AIX indeed produces this output.

AIX additionally, for the call
  strfmon (buf, sizeof (buf), "%.2n", 123.5);
produces the result
  "12350"

So, this implementation of strfmon is very standards-compliant.
But without a distinction between positive and negative values,
and without a visible decimal separator, this behaviour is useless,
or even dangerous (if a programmer was not aware of this behaviour
and has not worked around it).

I would vote for removing strfmon() and strfmon_l() from POSIX.

Bruno


Reply via email to