summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--handle.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/handle.c b/handle.c
index 0a1dedb..d0236fd 100644
--- a/handle.c
+++ b/handle.c
@@ -1018,6 +1018,9 @@ static int compar(const void *cmd, const void *_handler) {
 
 void handle(struct Message msg) {
 	if (!msg.cmd) return;
+	if (msg.tags[TagPos]) {
+		self.pos = strtoull(msg.tags[TagPos], NULL, 10);
+	}
 	const struct Handler *handler = bsearch(
 		msg.cmd, Handlers, ARRAY_LEN(Handlers), sizeof(*handler), compar
 	);
@@ -1026,7 +1029,4 @@ void handle(struct Message msg) {
 	} else if (strcmp(msg.cmd, "400") >= 0 && strcmp(msg.cmd, "599") <= 0) {
 		handleErrorGeneric(&msg);
 	}
-	if (msg.tags[TagPos]) {
-		self.pos = strtoull(msg.tags[TagPos], NULL, 10);
-	}
 }