Remove all
[com/asn1c.git] / libasn1common / asn1_namespace.c
diff --git a/libasn1common/asn1_namespace.c b/libasn1common/asn1_namespace.c
deleted file mode 100644 (file)
index db01072..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <assert.h>
-
-#include "asn1_ref.h"
-#include "asn1_buffer.h"
-#include "asn1_namespace.h"
-
-static void (*_add_standard_namespaces_cb)(asn1_namespace_t *);
-
-void
-asn1_namespace_add_standard_namespaces_callback(
-    void (*cb)(asn1_namespace_t *)) {
-    _add_standard_namespaces_cb = cb;
-}
-
-asn1_namespace_t *
-asn1_namespace_new() {
-    asn1_namespace_t *ns = calloc(1, sizeof(*ns));
-
-    if(_add_standard_namespaces_cb) {
-        _add_standard_namespaces_cb(ns);
-    }
-
-    return ns;
-}
-
-void
-asn1_namespace_free(asn1_namespace_t *ns) {
-    if(ns) {
-        for(size_t i = 0; i < ns->elements_count; i++) {
-            switch(ns->elements[i].selector) {
-            case NAM_SPACE:
-                break;
-            case NAM_SYMBOL:
-                free(ns->elements[i].u.symbol.identifier);
-                break;
-            }
-        }
-        free(ns->elements);
-        free(ns);
-    }
-}
-
-asn1_namespace_t *
-asn1_namespace_clone(const asn1_namespace_t *old_ns) {
-    asn1_namespace_t *new_ns = calloc(1, sizeof(*new_ns));
-
-    for(size_t i = 0; i < old_ns->elements_count; i++) {
-        switch(old_ns->elements[i].selector) {
-        case NAM_SPACE:
-            asn1_namespace_add_module(new_ns,
-                                       old_ns->elements[i].u.space.module,
-                                       old_ns->elements[i].u.space.stop_search);
-            break;
-        case NAM_SYMBOL:
-            asn1_namespace_add_symbol(
-                new_ns, old_ns->elements[i].u.symbol.opt_governor,
-                old_ns->elements[i].u.symbol.identifier,
-                old_ns->elements[i].u.symbol.resolution);
-            break;
-        }
-    }
-
-    return new_ns;
-}
-
-static size_t
-_add_element(asn1_namespace_t *ns) {
-    size_t idx = ns->elements_count;
-
-    if(ns->elements_count >= ns->elements_size) {
-        size_t elc = ns->elements_size ? ns->elements_size * 2 : 4;
-        ns->elements = realloc(ns->elements, sizeof(ns->elements[0]) * elc);
-        ns->elements_size = elc;
-    }
-
-    ns->elements_count++;
-    return idx;
-}
-
-void
-asn1_namespace_add_symbol(asn1_namespace_t *ns,
-                          struct asn1p_ref_s *opt_governor,
-                          const char *identifier,
-                          struct asn1p_expr_s *resolved_argument) {
-    size_t idx = _add_element(ns);
-
-    ns->elements[idx].selector = NAM_SYMBOL;
-    ns->elements[idx].u.symbol.opt_governor = opt_governor;
-    ns->elements[idx].u.symbol.identifier = strdup(identifier);
-    ns->elements[idx].u.symbol.resolution = resolved_argument;
-}
-
-asn1_namespace_t *
-asn1_namespace_new_from_module(struct asn1p_module_s *module, int stop_search) {
-    asn1_namespace_t *ns = asn1_namespace_new();
-    asn1_namespace_add_module(ns, module, stop_search);
-    return ns;
-}
-
-void
-asn1_namespace_add_module(asn1_namespace_t *ns, struct asn1p_module_s *module,
-                          int stop_search) {
-    size_t idx = _add_element(ns);
-
-    ns->elements[idx].selector = NAM_SPACE,
-    ns->elements[idx].u.space.module = module;
-    ns->elements[idx].u.space.stop_search = stop_search;
-}
-
-const char *
-asn1_namespace_string(const asn1_namespace_t *ns) {
-    static abuf ab;
-
-    abuf_clear(&ab);
-
-    if(ns) {
-        abuf_str(&ab, "{");
-        for(size_t i = 0; i < ns->elements_count; i++) {
-            if(i) abuf_str(&ab, ",");
-            switch(ns->elements[i].selector) {
-            case NAM_SPACE:
-                abuf_printf(
-                    &ab, "M:\"%s\"%s",
-                    *(const char *const *)ns->elements[i].u.space.module,
-                    ns->elements[i].u.space.stop_search ? "!" : "");
-                break;
-            case NAM_SYMBOL:
-                abuf_printf(&ab, "S:\"%s%s%s\"",
-                            ns->elements[i].u.symbol.opt_governor
-                                ? asn1p_ref_string(
-                                      ns->elements[i].u.symbol.opt_governor)
-                                : "",
-                            ns->elements[i].u.symbol.opt_governor ? ":" : "",
-                            ns->elements[i].u.symbol.identifier);
-                break;
-            }
-        }
-        abuf_str(&ab, "}");
-        return ab.buffer;
-    } else {
-        return "<no namespace>";
-    }
-}
-