mirror of
https://github.com/emqx/neuron.git
synced 2026-10-17 04:40:42 +08:00
Revert "write int64/uint64 with string"
This reverts commit c1e541ecb1.
This commit is contained in:
@@ -31,7 +31,6 @@ extern "C" {
|
||||
typedef enum neu_json_type {
|
||||
NEU_JSON_UNDEFINE = 0,
|
||||
NEU_JSON_INT = 1,
|
||||
NEU_JSON_UINT,
|
||||
NEU_JSON_BIT,
|
||||
NEU_JSON_STR,
|
||||
NEU_JSON_DOUBLE,
|
||||
@@ -109,7 +108,6 @@ typedef struct {
|
||||
|
||||
typedef union neu_json_value {
|
||||
int64_t val_int;
|
||||
uint64_t val_uint;
|
||||
uint8_t val_bit;
|
||||
float val_float;
|
||||
double val_double;
|
||||
|
||||
@@ -926,8 +926,8 @@ static inline void neu_tag_value_to_json(neu_resp_tag_value_meta_t *tag_value,
|
||||
break;
|
||||
case NEU_TYPE_LWORD:
|
||||
case NEU_TYPE_UINT64:
|
||||
tag_json->t = NEU_JSON_UINT;
|
||||
tag_json->value.val_uint = tag_value->value.value.u64;
|
||||
tag_json->t = NEU_JSON_INT;
|
||||
tag_json->value.val_int = tag_value->value.value.u64;
|
||||
break;
|
||||
case NEU_TYPE_FLOAT:
|
||||
if (isnan(tag_value->value.value.f32)) {
|
||||
@@ -1124,8 +1124,8 @@ neu_tag_value_to_json_paginate(neu_resp_tag_value_meta_paginate_t *tag_value,
|
||||
break;
|
||||
case NEU_TYPE_LWORD:
|
||||
case NEU_TYPE_UINT64:
|
||||
tag_json->t = NEU_JSON_UINT;
|
||||
tag_json->value.val_uint = tag_value->value.value.u64;
|
||||
tag_json->t = NEU_JSON_INT;
|
||||
tag_json->value.val_int = tag_value->value.value.u64;
|
||||
break;
|
||||
case NEU_TYPE_FLOAT:
|
||||
if (isnan(tag_value->value.value.f32)) {
|
||||
|
||||
@@ -1103,11 +1103,7 @@ int is_value_in_range(neu_type_e tag_type, int64_t value, double value_d,
|
||||
return check_value_decimal(write_type, result, 0, UINT32_MAX);
|
||||
case NEU_TYPE_INT64:
|
||||
case NEU_TYPE_UINT64:
|
||||
if (write_type == NEU_TYPE_STRING) {
|
||||
return NEU_ERR_SUCCESS;
|
||||
}
|
||||
if (write_type != NEU_TYPE_INT64 && write_type != NEU_TYPE_DOUBLE &&
|
||||
write_type != NEU_TYPE_STRING) {
|
||||
if (write_type != NEU_TYPE_INT64 && write_type != NEU_TYPE_DOUBLE) {
|
||||
return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH;
|
||||
} else if (almost_equal(ceil(result), result, EPSILON) ||
|
||||
almost_equal(floor(result), result, EPSILON)) {
|
||||
@@ -1166,8 +1162,7 @@ int is_value_in_range(neu_type_e tag_type, int64_t value, double value_d,
|
||||
return check_value(write_type, value, 0, UINT32_MAX);
|
||||
case NEU_TYPE_INT64:
|
||||
case NEU_TYPE_UINT64:
|
||||
if (write_type == NEU_TYPE_INT64 || write_type == NEU_TYPE_UINT64 ||
|
||||
write_type == NEU_TYPE_STRING) {
|
||||
if (write_type == NEU_TYPE_INT64) {
|
||||
return NEU_ERR_SUCCESS;
|
||||
} else {
|
||||
return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH;
|
||||
@@ -1241,22 +1236,6 @@ int neu_adapter_driver_write_tags(neu_adapter_driver_t *driver,
|
||||
value_check = NEU_ERR_TAG_NOT_EXIST;
|
||||
}
|
||||
|
||||
if (tag->type == NEU_TYPE_INT64) {
|
||||
if (cmd->tags[i].value.type == NEU_TYPE_STRING) {
|
||||
cmd->tags[i].value.type = NEU_TYPE_INT64;
|
||||
cmd->tags[i].value.value.i64 =
|
||||
strtoll(cmd->tags[i].value.value.str, NULL, 10);
|
||||
}
|
||||
}
|
||||
|
||||
if (tag->type == NEU_TYPE_UINT64) {
|
||||
if (cmd->tags[i].value.type == NEU_TYPE_STRING) {
|
||||
cmd->tags[i].value.type = NEU_TYPE_UINT64;
|
||||
cmd->tags[i].value.value.u64 =
|
||||
strtoull(cmd->tags[i].value.value.str, NULL, 10);
|
||||
}
|
||||
}
|
||||
|
||||
if (tag != NULL && neu_tag_attribute_test(tag, NEU_ATTRIBUTE_WRITE) &&
|
||||
neu_tag_attribute_test(tag, NEU_ATTRIBUTE_STATIC) == false &&
|
||||
value_check == NEU_ERR_SUCCESS) {
|
||||
@@ -1485,20 +1464,6 @@ int neu_adapter_driver_write_tag(neu_adapter_driver_t *driver,
|
||||
return value_check;
|
||||
}
|
||||
|
||||
if (tag->type == NEU_TYPE_INT64) {
|
||||
if (cmd->value.type == NEU_TYPE_STRING) {
|
||||
cmd->value.type = NEU_TYPE_INT64;
|
||||
cmd->value.value.i64 = strtoll(cmd->value.value.str, NULL, 10);
|
||||
}
|
||||
}
|
||||
|
||||
if (tag->type == NEU_TYPE_UINT64) {
|
||||
if (cmd->value.type == NEU_TYPE_STRING) {
|
||||
cmd->value.type = NEU_TYPE_UINT64;
|
||||
cmd->value.value.u64 = strtoull(cmd->value.value.str, NULL, 10);
|
||||
}
|
||||
}
|
||||
|
||||
if (tag->type == NEU_TYPE_FLOAT || tag->type == NEU_TYPE_DOUBLE) {
|
||||
if (cmd->value.type == NEU_TYPE_INT64) {
|
||||
cmd->value.value.d64 = (double) cmd->value.value.i64;
|
||||
|
||||
+2
-33
@@ -73,23 +73,7 @@ static json_t *encode_object_value(neu_json_elem_t *ele)
|
||||
ob = json_integer(ele->v.val_bit);
|
||||
break;
|
||||
case NEU_JSON_INT:
|
||||
if (ele->v.val_int >= 0x1fffffffffffff) {
|
||||
char tmp[32] = { 0 };
|
||||
snprintf(tmp, sizeof(tmp), "%" PRId64 "", ele->v.val_int);
|
||||
ob = json_string(tmp);
|
||||
} else {
|
||||
ob = json_integer(ele->v.val_int);
|
||||
}
|
||||
break;
|
||||
case NEU_JSON_UINT:
|
||||
if (ele->v.val_uint >= 0x1fffffffffffff) {
|
||||
char tmp[32] = { 0 };
|
||||
snprintf(tmp, sizeof(tmp), "%" PRIu64 "", ele->v.val_int);
|
||||
ob = json_string(tmp);
|
||||
} else {
|
||||
ob = json_integer(ele->v.val_uint);
|
||||
}
|
||||
|
||||
ob = json_integer(ele->v.val_int);
|
||||
break;
|
||||
case NEU_JSON_STR:
|
||||
ob = json_string(ele->v.val_str);
|
||||
@@ -124,22 +108,7 @@ static json_t *encode_object(json_t *object, neu_json_elem_t ele)
|
||||
json_object_set_new(ob, ele.name, json_integer(ele.v.val_bit));
|
||||
break;
|
||||
case NEU_JSON_INT:
|
||||
if (ele.v.val_int >= 0x1fffffffffffff) {
|
||||
char tmp[32] = { 0 };
|
||||
snprintf(tmp, sizeof(tmp), "%" PRId64 "", ele.v.val_int);
|
||||
json_object_set_new(ob, ele.name, json_string(tmp));
|
||||
} else {
|
||||
json_object_set_new(ob, ele.name, json_integer(ele.v.val_int));
|
||||
}
|
||||
break;
|
||||
case NEU_JSON_UINT:
|
||||
if (ele.v.val_uint >= 0x1fffffffffffff) {
|
||||
char tmp[32] = { 0 };
|
||||
snprintf(tmp, sizeof(tmp), "%" PRIu64 "", ele.v.val_int);
|
||||
json_object_set_new(ob, ele.name, json_string(tmp));
|
||||
} else {
|
||||
json_object_set_new(ob, ele.name, json_integer(ele.v.val_uint));
|
||||
}
|
||||
json_object_set_new(ob, ele.name, json_integer(ele.v.val_int));
|
||||
break;
|
||||
case NEU_JSON_STR:
|
||||
json_object_set_new(ob, ele.name, json_string(ele.v.val_str));
|
||||
|
||||
Reference in New Issue
Block a user