From 9c2d9215ed814ec232eea094a763ec7c10c5dd6f Mon Sep 17 00:00:00 2001 From: hxy7yx <1595670487@qq.com> Date: Tue, 9 Apr 2024 15:44:56 +0800 Subject: [PATCH] determine whether tag(string) set endianness --- include/neuron/tag.h | 1 + src/base/tag.c | 15 ++++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/include/neuron/tag.h b/include/neuron/tag.h index 044ee05c..e4055f7e 100644 --- a/include/neuron/tag.h +++ b/include/neuron/tag.h @@ -67,6 +67,7 @@ typedef union { struct { uint16_t length; neu_datatag_string_type_e type; + bool is_default; } string; struct { diff --git a/src/base/tag.c b/src/base/tag.c index 1c6e0d1d..4d1e60e1 100644 --- a/src/base/tag.c +++ b/src/base/tag.c @@ -161,19 +161,24 @@ int neu_datatag_parse_addr_option(const neu_datatag_t * datatag, switch (t) { case 'H': - option->string.type = NEU_DATATAG_STRING_TYPE_H; + option->string.type = NEU_DATATAG_STRING_TYPE_H; + option->string.is_default = false; break; case 'L': - option->string.type = NEU_DATATAG_STRING_TYPE_L; + option->string.type = NEU_DATATAG_STRING_TYPE_L; + option->string.is_default = false; break; case 'D': - option->string.type = NEU_DATATAG_STRING_TYPE_D; + option->string.type = NEU_DATATAG_STRING_TYPE_D; + option->string.is_default = false; break; case 'E': - option->string.type = NEU_DATATAG_STRING_TYPE_D; + option->string.type = NEU_DATATAG_STRING_TYPE_E; + option->string.is_default = false; break; default: - option->string.type = NEU_DATATAG_STRING_TYPE_H; + option->string.type = NEU_DATATAG_STRING_TYPE_H; + option->string.is_default = true; break; }