Revert "write int64/uint64 with string"

This reverts commit c1e541ecb1.
This commit is contained in:
fengzero
2025-04-02 05:50:13 +00:00
parent bf023f1e69
commit 7eacfb8521
4 changed files with 8 additions and 76 deletions
-2
View File
@@ -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;
+4 -4
View File
@@ -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)) {
+2 -37
View File
@@ -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
View File
@@ -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));