diff src/director/director-connection.c @ 19289:4e0c9df36a78

director: Small code cleanup - make it easier to add parameters to SYNC
author Timo Sirainen <tss@iki.fi>
date Sun, 11 Oct 2015 18:45:58 +0300
parents 0f9d4f1a083d
children bae8efd8b5b3
line wrap: on
line diff
--- a/src/director/director-connection.c	Sat Oct 10 18:32:56 2015 +0300
+++ b/src/director/director-connection.c	Sun Oct 11 18:45:58 2015 +0300
@@ -1320,23 +1320,22 @@
 	struct director_host *host;
 	struct ip_addr ip;
 	in_port_t port;
-	unsigned int seq, minor_version = 0, timestamp = ioloop_time;
+	unsigned int arg_count, seq, minor_version = 0, timestamp = ioloop_time;
 
-	if (str_array_length(args) < 3 ||
+	arg_count = str_array_length(args);
+	if (arg_count < 3 ||
 	    !director_args_parse_ip_port(conn, args, &ip, &port) ||
 	    str_to_uint(args[2], &seq) < 0) {
 		director_cmd_error(conn, "Invalid parameters");
 		return FALSE;
 	}
-	if (args[3] != NULL) {
-		if (str_to_uint(args[3], &minor_version) < 0) {
-			director_cmd_error(conn, "Invalid parameters");
-			return FALSE;
-		}
-		if (args[4] != NULL && str_to_uint(args[4], &timestamp) < 0) {
-			director_cmd_error(conn, "Invalid parameters");
-			return FALSE;
-		}
+	if (arg_count >= 4 && str_to_uint(args[3], &minor_version) < 0) {
+		director_cmd_error(conn, "Invalid parameters");
+		return FALSE;
+	}
+	if (arg_count >= 5 && str_to_uint(args[4], &timestamp) < 0) {
+		director_cmd_error(conn, "Invalid parameters");
+		return FALSE;
 	}
 
 	/* find the originating director. if we don't see it, it was already