diff options
Diffstat (limited to 'src/tag.c')
-rw-r--r-- | src/tag.c | 68 |
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; - } -} |