about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tag.c22
1 files changed, 6 insertions, 16 deletions
diff --git a/tag.c b/tag.c
index 13e06f3..cae5f03 100644
--- a/tag.c
+++ b/tag.c
@@ -21,28 +21,18 @@
 
 #include "chat.h"
 
-#define GLOBAL_TAGS \
-	X(TagNone,   0, "<none>") \
-	X(TagStatus, 1, "<status>") \
-	X(TagRaw,    2, "<raw>")
-enum { GlobalTagsLen = 3 };
-
-#define X(tag, id, name) const struct Tag tag = { id, name };
-GLOBAL_TAGS
-#undef X
-
 static struct {
 	char *name[TagsLen];
 	size_t len;
 } tags = {
-	.name = {
-#define X(_, id, name) [id] = name,
-		GLOBAL_TAGS
-#undef X
-	},
-	.len = GlobalTagsLen,
+	.name = { "<none>", "<status>", "<raw>" },
+	.len = 3,
 };
 
+const struct Tag TagNone   = { 0, "<none>" };
+const struct Tag TagStatus = { 1, "<status>" };
+const struct Tag TagRaw    = { 2, "<raw>" };
+
 struct Tag tagFind(const char *name) {
 	for (size_t id = 0; id < tags.len; ++id) {
 		if (strcmp(tags.name[id], name)) continue;