stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Brown <mbr...@inbox.com>
Subject Re: svn commit: r537492 - /incubator/stdcxx/trunk/doc/stdlibref/money-get.html
Date Sat, 12 May 2007 22:21:09 GMT
Okay, after some initial technical difficulties (sorry about the messed up submissions) I opened
two issues:

22.locale.money.get.cpp doesn't test international monetary formats (https://issues.apache.org/jira/browse/STDCXX-413)
and money_get fails to parse currency in international format (https://issues.apache.org/jira/browse/STDCXX-412).

-- Mark


> -----Original Message-----
> From: sebor@roguewave.com
> Sent: Sat, 12 May 2007 15:42:16 -0600
> To: stdcxx-dev@incubator.apache.org
> Subject: Re: svn commit: r537492 -
> /incubator/stdcxx/trunk/doc/stdlibref/money-get.html
> 
> Mark Brown wrote:
>>> -----Original Message-----
>>> From: sebor@roguewave.com
>>> Sent: Sat, 12 May 2007 14:09:34 -0600
>>> To: stdcxx-dev@incubator.apache.org
>>> Subject: Re: svn commit: r537492 -
>>> /incubator/stdcxx/trunk/doc/stdlibref/money-get.html
>>> 
>>> Mark Brown wrote:
>>>> Martin,
>>>> 
>>>> Thanks for fixing it! I have a question about the new code: Could you
>>>> show an example of an international monetary string that would be
>>>> correctly parsed by the facet? I tried a few but none of them could be
>>>> parsed. For instance, "USD 1234" gives this output:
>>>> USD 1234 --> "" --> 0
>>>> The same happens with g++ and STLport so I suspect I must be doing
>>>> something wrong. Removing the space between the currency symbol and
>>>> the
>>>> number didn't make a difference.
>>> Hmm, I guess I should have tested the internationalized behavior before
>>> I put it in. I think the code is correct as is and your input should be
>>> correctly parsed by the facet (and produce 1234 on output). I'm not
>>> sure
>>> what's going on. Stepping through the code it looks like the money_get
>>> facet ends up retrieving the wrong specialization of moneypunct, i.e.,
>>> moneypunct<char, false> when it needs moneypunct<char, true>. What's
>>> puzzling is that both libstdc++ and STLport behave the same. It seems
>>> like too much of a coincidence for all three implementations to suffer
>>> from the same bug.
>>> 
>>> In any event, thanks for bringing it to our attention! Can you open an
>>> issue for this as well so we don't forget to investigate it in case I
>>> don't get around to it soon?
>> 
>> I can certainly do that. I should also mention that while investigating
>> this problem I found a test that's supposed to test this functionality:
>> 22.locale.money.get.cpp. The test fails 20 out of 1934 assertions but
>> none of them look like they have anything to do with parsing
>> international monetary values. It doesn't look like they are being
>> tested at all...
> 
> Yeah, I noticed it too. I'm in the process of enhancing the test to
> exercise the international formats as well. If you don't mind creating
> another issue for the test, just for tracking purposes, that would be
> swell!
> 
> Martin

____________________________________________________________
GET FREE 5GB ONLINE STORAGE - Safely store your documents, photos and music online!
Visit http://www.inbox.com/storage to find out more!

Mime
View raw message