diff options
| author | chenzizhan <[email protected]> | 2023-06-27 14:39:21 +0800 |
|---|---|---|
| committer | chenzizhan <[email protected]> | 2023-06-27 14:39:21 +0800 |
| commit | 090b6028eb16d606eaa8a576019a7d39e3b82f8f (patch) | |
| tree | 9cde7c9a4e60ae4df9f385c250a9a0299bf0a7e5 /test/utils.cpp | |
| parent | 75f0ffdfbccd96cdb911fa6c67aae32cccec2c78 (diff) | |
test and debug for export
Diffstat (limited to 'test/utils.cpp')
| -rw-r--r-- | test/utils.cpp | 51 |
1 files changed, 49 insertions, 2 deletions
diff --git a/test/utils.cpp b/test/utils.cpp index 922ba73..47e2c69 100644 --- a/test/utils.cpp +++ b/test/utils.cpp @@ -101,10 +101,32 @@ Fieldstat_tag_list_wrapper::Fieldstat_tag_list_wrapper() { tag_list_c.n_tag = 0; } -Fieldstat_tag_list_wrapper::Fieldstat_tag_list_wrapper(const Fieldstat_tag_list_wrapper &tag_list_wrapper) : Fieldstat_tag_list_wrapper(tag_list_wrapper.get_c_struct()) { +Fieldstat_tag_list_wrapper::Fieldstat_tag_list_wrapper(const Fieldstat_tag_list_wrapper &tag_list_wrapper){ + const struct fieldstat_tag_list *tag_list = tag_list_wrapper.get_c_struct(); + tag_list_c.tag = (struct fieldstat_tag *)malloc(sizeof(struct fieldstat_tag) * tag_list->n_tag); + tag_list_c.n_tag = tag_list->n_tag; + for (size_t i = 0; i < tag_list->n_tag; i++) + { + // copy the tag_list + tag_list_c.tag[i].key = strdup(tag_list->tag[i].key); + tag_list_c.tag[i].type = tag_list->tag[i].type; + switch (tag_list->tag[i].type) + { + case TAG_INTEGER: + tag_list_c.tag[i].value_int = tag_list->tag[i].value_int; + break; + case TAG_DOUBLE: + tag_list_c.tag[i].value_double = tag_list->tag[i].value_double; + break; + case TAG_CSTRING: + tag_list_c.tag[i].value_str = strdup(tag_list->tag[i].value_str); + break; + default: + break; + } + } } - const struct fieldstat_tag *Fieldstat_tag_list_wrapper::get_tag() const { return tag_list_c.tag; @@ -120,4 +142,29 @@ const struct fieldstat_tag_list *Fieldstat_tag_list_wrapper::get_c_struct() cons return &tag_list_c; } +void Fieldstat_tag_list_wrapper::print_tag_list() const +{ + printf("tag_list_c.n_tag: %zu\n", tag_list_c.n_tag); + for (size_t i = 0; i < tag_list_c.n_tag; i++) + { + printf("tag_list_c.tag[%zu].key: %s\n", i, tag_list_c.tag[i].key); + printf("tag_list_c.tag[%zu].type: %d\n", i, (int)tag_list_c.tag[i].type); + switch (tag_list_c.tag[i].type) + { + case TAG_INTEGER: + printf("tag_list_c.tag[%zu].value_int: %lld\n", i, tag_list_c.tag[i].value_int); + break; + case TAG_DOUBLE: + printf("tag_list_c.tag[%zu].value_double: %lf\n", i, tag_list_c.tag[i].value_double); + break; + case TAG_CSTRING: + printf("tag_list_c.tag[%zu].value_str: %s\n", i, tag_list_c.tag[i].value_str); + break; + default: + break; + } + } + printf("print end\n"); +} + |
