[ 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