[ 
https://issues.apache.org/jira/browse/QPID-3206?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019306#comment-13019306
 ] 

jirapos...@reviews.apache.org commented on QPID-3206:
-----------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/596/
-----------------------------------------------------------

(Updated 2011-04-13 13:00:09.156587)


Review request for Andrew Stitcher, Alan Conway, Kenneth Giusti, Ted Ross, and 
Steve Huston.


Changes
-------

Added test cases from string to float/double conversion when the value is 
negative.


Summary
-------

Add special test for negative numeric strings when converting to unsigned 
values. (It appears - though I could be wrong - that in basic form stringstream 
does not do any special handling of negatives for different locales. That 
appears only to be done for money values.)


This addresses bug QPID-3206.
    https://issues.apache.org/jira/browse/QPID-3206


Diffs (updated)
-----

  /trunk/qpid/cpp/src/qpid/types/Variant.cpp 1090157 
  /trunk/qpid/cpp/src/tests/Variant.cpp 1090157 

Diff: https://reviews.apache.org/r/596/diff


Testing
-------

New tests included in patch


Thanks,

Gordon



> Variant converts from negative number in string format to unsigned integer 
> without error
> ----------------------------------------------------------------------------------------
>
>                 Key: QPID-3206
>                 URL: https://issues.apache.org/jira/browse/QPID-3206
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker, C++ Client
>    Affects Versions: 0.8, 0.10
>            Reporter: Gordon Sim
>            Assignee: Gordon Sim
>             Fix For: 0.11
>
>
> E.g. 
>   uint16_t i = 0;
>   qpid::types::Variant v = "-5";
>   i = v;
> The above results in an exception in older versions of gcc (e.g. 4.1.2) but 
> sets i to 65531 on later versions (e.g. 4.4.4). This is a result of a fix to 
> the gcc std library to be compliant with specification which requires 
> stringstream to accept negative values even for unsigned ints (which is the 
> behaviour of scanf).
> See e.g:
> http://boost.2283326.n4.nabble.com/conversion-lexical-cast-doesn-t-throw-td2593967.html
> http://groups.google.com/group/comp.lang.c++.moderated/browse_thread/thread/97475b21515462c9/ce369a327fa39243#ce369a327fa39243

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org

Reply via email to