[
https://issues.apache.org/jira/browse/QPID-3206?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019408#comment-13019408
]
[email protected] commented on QPID-3206:
-----------------------------------------------------
bq. On 2011-04-13 15:22:31, Andrew Stitcher wrote:
bq. > /trunk/qpid/cpp/src/tests/Variant.cpp, line 109
bq. > <https://reviews.apache.org/r/596/diff/3/?file=15706#file15706line109>
bq. >
bq. > Some things we don't check here that should also fail (essentially
values that are valid as uint but not int or negative numbers too large.
bq. >
bq. > maxint<int64_t>+1 in a string -> int64_t
bq. > [should fail]
bq. > minint<int64_t>-1 in a string -> int64_t
bq. > [should fail]
bq. >
bq. > and for int32_t too
bq. >
bq. >
Added in latest patch.
- Gordon
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/596/#review447
-----------------------------------------------------------
On 2011-04-13 16:13:56, Gordon Sim wrote:
bq.
bq. -----------------------------------------------------------
bq. This is an automatically generated e-mail. To reply, visit:
bq. https://reviews.apache.org/r/596/
bq. -----------------------------------------------------------
bq.
bq. (Updated 2011-04-13 16:13:56)
bq.
bq.
bq. Review request for Andrew Stitcher, Alan Conway, Kenneth Giusti, Ted Ross,
and Steve Huston.
bq.
bq.
bq. Summary
bq. -------
bq.
bq. 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.)
bq.
bq.
bq. This addresses bug QPID-3206.
bq. https://issues.apache.org/jira/browse/QPID-3206
bq.
bq.
bq. Diffs
bq. -----
bq.
bq. /trunk/qpid/cpp/src/qpid/types/Variant.cpp 1090157
bq. /trunk/qpid/cpp/src/tests/Variant.cpp 1090157
bq.
bq. Diff: https://reviews.apache.org/r/596/diff
bq.
bq.
bq. Testing
bq. -------
bq.
bq. New tests included in patch
bq.
bq.
bq. Thanks,
bq.
bq. Gordon
bq.
bq.
> 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:[email protected]