summaryrefslogtreecommitdiff
path: root/src/tag.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tag.c')
-rw-r--r--src/tag.c68
1 files changed, 0 insertions, 68 deletions
diff --git a/src/tag.c b/src/tag.c
deleted file mode 100644
index 8f1502c..0000000
--- a/src/tag.c
+++ /dev/null
@@ -1,68 +0,0 @@
-#include "tag.h"
-#include "map.h"
-#include "nbt/nbt.h"
-#include "snbt/snbt.h"
-#include "json/json.h"
-
-#include <stdlib.h>
-
-void tag_free(tag_t *tag) {
- if (tag->name_len > 0 && tag->name != NULL)
- free(tag->name);
- switch(tag->type) {
- case TAG_END:
- case TAG_BYTE:
- case TAG_SHORT:
- case TAG_INT:
- case TAG_LONG:
- case TAG_FLOAT:
- case TAG_DOUBLE:
- break;
- case TAG_BYTE_ARRAY:
- free(tag->data.b_arr.data);
- break;
- case TAG_STRING:
- free(tag->data.string.data);
- break;
- case TAG_LIST:
- for (int32_t i = 0; i < tag->data.list.size; i++)
- tag_free(&tag->data.list.tags[i]);
- free(tag->data.list.tags);
- break;
- case TAG_COMPOUND:
- map_free(&tag->data.compound);
- break;
- case TAG_INT_ARRAY:
- free(tag->data.i_arr.data);
- break;
- case TAG_LONG_ARRAY:
- free(tag->data.l_arr.data);
- break;
- }
-}
-
-bool tag_read(tag_t *tag, const stream_t *stream, format_t format) {
- switch (format) {
- case JSON:
- return json_read(tag, stream);
- case NBT:
- return nbt_read(tag, stream);
- case SNBT:
- return snbt_read(tag, stream);
- default:
- return false;
- }
-}
-
-bool tag_print(tag_t *tag, const stream_t *stream, format_t format) {
- switch (format) {
- case JSON:
- return json_print(tag, stream);
- case NBT:
- return nbt_print(tag, stream);
- case SNBT:
- return snbt_print(tag, stream);
- default:
- return false;
- }
-}