summaryrefslogtreecommitdiffstats
path: root/fluent-bit/lib/avro/src/map.c
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-07-24 09:54:23 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-07-24 09:54:44 +0000
commit836b47cb7e99a977c5a23b059ca1d0b5065d310e (patch)
tree1604da8f482d02effa033c94a84be42bc0c848c3 /fluent-bit/lib/avro/src/map.c
parentReleasing debian version 1.44.3-2. (diff)
downloadnetdata-836b47cb7e99a977c5a23b059ca1d0b5065d310e.tar.xz
netdata-836b47cb7e99a977c5a23b059ca1d0b5065d310e.zip
Merging upstream version 1.46.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'fluent-bit/lib/avro/src/map.c')
-rw-r--r--fluent-bit/lib/avro/src/map.c130
1 files changed, 0 insertions, 130 deletions
diff --git a/fluent-bit/lib/avro/src/map.c b/fluent-bit/lib/avro/src/map.c
deleted file mode 100644
index c85ffbd84..000000000
--- a/fluent-bit/lib/avro/src/map.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to you under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-
-#include <errno.h>
-#include <string.h>
-
-#include "avro/data.h"
-#include "avro/allocation.h"
-#include "avro/errors.h"
-#include "st.h"
-
-
-#define raw_entry_size(element_size) \
- (sizeof(avro_raw_map_entry_t) + element_size)
-
-void avro_raw_map_init(avro_raw_map_t *map, size_t element_size)
-{
- memset(map, 0, sizeof(avro_raw_map_t));
- avro_raw_array_init(&map->elements, raw_entry_size(element_size));
- map->indices_by_key = st_init_strtable();
-}
-
-
-static void
-avro_raw_map_free_keys(avro_raw_map_t *map)
-{
- unsigned int i;
- for (i = 0; i < avro_raw_map_size(map); i++) {
- void *ventry =
- ((char *) map->elements.data + map->elements.element_size * i);
- avro_raw_map_entry_t *entry = (avro_raw_map_entry_t *) ventry;
- avro_str_free((char *) entry->key);
- }
-}
-
-
-void avro_raw_map_done(avro_raw_map_t *map)
-{
- avro_raw_map_free_keys(map);
- avro_raw_array_done(&map->elements);
- st_free_table((st_table *) map->indices_by_key);
- memset(map, 0, sizeof(avro_raw_map_t));
-}
-
-
-void avro_raw_map_clear(avro_raw_map_t *map)
-{
- avro_raw_map_free_keys(map);
- avro_raw_array_clear(&map->elements);
- st_free_table((st_table *) map->indices_by_key);
- map->indices_by_key = st_init_strtable();
-}
-
-
-int
-avro_raw_map_ensure_size(avro_raw_map_t *map, size_t desired_count)
-{
- return avro_raw_array_ensure_size(&map->elements, desired_count);
-}
-
-
-void *avro_raw_map_get(const avro_raw_map_t *map, const char *key,
- size_t *index)
-{
- st_data_t data;
- if (st_lookup((st_table *) map->indices_by_key, (st_data_t) key, &data)) {
- unsigned int i = (unsigned int) data;
- if (index) {
- *index = i;
- }
- void *raw_entry =
- ((char *) map->elements.data + map->elements.element_size * i);
- return (char *) raw_entry + sizeof(avro_raw_map_entry_t);
- } else {
- return NULL;
- }
-}
-
-
-int avro_raw_map_get_or_create(avro_raw_map_t *map, const char *key,
- void **element, size_t *index)
-{
- st_data_t data;
- void *el;
- unsigned int i;
- int is_new;
-
- if (st_lookup((st_table *) map->indices_by_key, (st_data_t) key, &data)) {
- i = (unsigned int) data;
- void *raw_entry =
- ((char *) map->elements.data + map->elements.element_size * i);
- el = (char *) raw_entry + sizeof(avro_raw_map_entry_t);
- is_new = 0;
- } else {
- i = map->elements.element_count;
- avro_raw_map_entry_t *raw_entry =
- (avro_raw_map_entry_t *) avro_raw_array_append(&map->elements);
- raw_entry->key = avro_strdup(key);
- st_insert((st_table *) map->indices_by_key,
- (st_data_t) raw_entry->key, (st_data_t) i);
- if (!raw_entry) {
- avro_str_free((char*)raw_entry->key);
- return -ENOMEM;
- }
- el = ((char *) raw_entry) + sizeof(avro_raw_map_entry_t);
- is_new = 1;
- }
-
- if (element) {
- *element = el;
- }
- if (index) {
- *index = i;
- }
- return is_new;
-}