diff --git a/include/neuron/json/json.h b/include/neuron/json/json.h index 47c079f8..7e683639 100644 --- a/include/neuron/json/json.h +++ b/include/neuron/json/json.h @@ -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; diff --git a/include/neuron/msg.h b/include/neuron/msg.h index 73655790..e13e95ce 100644 --- a/include/neuron/msg.h +++ b/include/neuron/msg.h @@ -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)) { diff --git a/src/adapter/driver/driver.c b/src/adapter/driver/driver.c index cf5daedd..08107685 100644 --- a/src/adapter/driver/driver.c +++ b/src/adapter/driver/driver.c @@ -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; diff --git a/src/utils/json.c b/src/utils/json.c index 701ea4fd..39f5655f 100644 --- a/src/utils/json.c +++ b/src/utils/json.c @@ -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));