mirror of
https://github.com/stedolan/jq.git
synced 2024-05-11 05:55:39 +00:00
Fix iterration problem for non decimal string
When the string transformation to number failed, all following transformation failed too. This happend because status in decNumberFromString function is updated just in error case. Reusing the DEC_CONTEXT that failed before results into error even if the string is valid number.
This commit is contained in:
committed by
Nico Williams
parent
174db0f935
commit
c4d39c4d22
1
src/jv.c
1
src/jv.c
@@ -612,6 +612,7 @@ static jv jvp_literal_number_new(const char * literal) {
|
||||
n->refcnt = JV_REFCNT_INIT;
|
||||
n->literal_data = NULL;
|
||||
decContext *ctx = DEC_CONTEXT();
|
||||
decContextClearStatus(ctx, DEC_Conversion_syntax);
|
||||
decNumberFromString(&n->num_decimal, literal, ctx);
|
||||
n->num_double = NAN;
|
||||
|
||||
|
@@ -841,3 +841,8 @@ true
|
||||
{"foo": 42}
|
||||
{"foo": 43}
|
||||
|
||||
.[]|tonumber?
|
||||
["1", "hello", "3", 4]
|
||||
1
|
||||
3
|
||||
4
|
||||
|
Reference in New Issue
Block a user