mirror of
https://github.com/emqx/neuron.git
synced 2026-10-18 13:41:22 +08:00
@@ -345,6 +345,11 @@ typedef struct {
|
||||
uint8_t precision;
|
||||
} neu_dvalue_t;
|
||||
|
||||
static inline bool neu_dvalue_is_array(const neu_dvalue_t *dvalue)
|
||||
{
|
||||
return dvalue->type >= NEU_TYPE_ARRAY_CHAR;
|
||||
}
|
||||
|
||||
static inline bool neu_equal_dvalue(const neu_dvalue_t *one, neu_dvalue_t *two)
|
||||
{
|
||||
if (one == NULL || two == NULL) {
|
||||
|
||||
@@ -849,7 +849,12 @@ bool neu_driver_cache_update_change(neu_driver_cache_t *cache,
|
||||
}
|
||||
elem->metas = calloc(n_meta, sizeof(neu_tag_meta_t));
|
||||
for (int i = 0; i < n_meta; i++) {
|
||||
memcpy(&elem->metas[i], &metas[i], sizeof(neu_tag_meta_t));
|
||||
if (!neu_dvalue_is_array(&metas[i].value)) {
|
||||
memcpy(&elem->metas[i], &metas[i], sizeof(neu_tag_meta_t));
|
||||
} else {
|
||||
neu_free_dvalue(&metas[i].value);
|
||||
elem->metas[i].value.type = NEU_TYPE_INT8;
|
||||
}
|
||||
}
|
||||
|
||||
elem->n_meta = n_meta;
|
||||
|
||||
Reference in New Issue
Block a user