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;
>Document rationaleJune McEnroe 2019-10-26Handle nick collisionJune McEnroe 2019-10-26Wait for AUTHENTICATE + from serverJune McEnroe 2019-10-26Respond to PING with same parameterJune McEnroe 2019-10-26Add undocumented flag to disable verificationJune McEnroe 2019-10-26Do not require RPL_ISUPPORT for stateReadyJune McEnroe 2019-10-26Implement graceful shutdownJune McEnroe 2019-10-26Require PASS before USERJune McEnroe 2019-10-26Track channel topicsJune McEnroe 2019-10-26Set AWAY when no clients are connectedJune McEnroe 2019-10-26Add flags to request TOPIC and NAMES on client connectJune McEnroe 2019-10-26OopsJune McEnroe 2019-10-26Disconnect client on unknown commandJune McEnroe 2019-10-26Allow reading sensitive information from filesJune McEnroe 2019-10-26Add rc scriptJune McEnroe 2019-10-25Add install and uninstall targetsJune McEnroe 2019-10-25Expand documentationJune McEnroe 2019-10-25Add AGPLv3 notice on client registrationJune McEnroe 2019-10-25Rename project pounceJune McEnroe