summaryrefslogtreecommitdiff
path: root/src/upb_enum.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/upb_enum.c')
-rw-r--r--src/upb_enum.c34
1 files changed, 0 insertions, 34 deletions
diff --git a/src/upb_enum.c b/src/upb_enum.c
deleted file mode 100644
index 4855d89..0000000
--- a/src/upb_enum.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * upb - a minimalist implementation of protocol buffers.
- *
- * Copyright (c) 2009 Joshua Haberman. See LICENSE for details.
- */
-
-#include "descriptor.h"
-#include "upb_enum.h"
-
-void upb_enum_init(struct upb_enum *e,
- struct google_protobuf_EnumDescriptorProto *ed,
- struct upb_context *c) {
- int num_values = ed->set_flags.has.value ? ed->value->len : 0;
- e->descriptor = ed;
- e->context = c;
- upb_atomic_refcount_init(&e->refcount, 0);
- upb_strtable_init(&e->nametoint, num_values, sizeof(struct upb_enum_ntoi_entry));
- upb_inttable_init(&e->inttoname, num_values, sizeof(struct upb_enum_iton_entry));
-
- for(int i = 0; i < num_values; i++) {
- google_protobuf_EnumValueDescriptorProto *value = ed->value->elements[i];
- struct upb_enum_ntoi_entry ntoi_entry = {.e = {.key = *value->name},
- .value = value->number};
- struct upb_enum_iton_entry iton_entry = {.e = {.key = value->number},
- .string = value->name};
- upb_strtable_insert(&e->nametoint, &ntoi_entry.e);
- upb_inttable_insert(&e->inttoname, &iton_entry.e);
- }
-}
-
-void upb_enum_free(struct upb_enum *e) {
- upb_strtable_free(&e->nametoint);
- upb_inttable_free(&e->inttoname);
-}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback