summaryrefslogtreecommitdiff
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;