Module Name:    src
Committed By:   rillig
Date:           Sun May 22 08:22:43 UTC 2022

Modified Files:
        src/games/gomoku: main.c

Log Message:
gomoku: extract set_input_sources from main

No functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.51 -r1.52 src/games/gomoku/main.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/games/gomoku/main.c
diff -u src/games/gomoku/main.c:1.51 src/games/gomoku/main.c:1.52
--- src/games/gomoku/main.c:1.51	Sun May 22 08:18:49 2022
+++ src/games/gomoku/main.c	Sun May 22 08:22:43 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: main.c,v 1.51 2022/05/22 08:18:49 rillig Exp $	*/
+/*	$NetBSD: main.c,v 1.52 2022/05/22 08:22:43 rillig Exp $	*/
 
 /*
  * Copyright (c) 1994
@@ -36,7 +36,7 @@
 __COPYRIGHT("@(#) Copyright (c) 1994\
  The Regents of the University of California.  All rights reserved.");
 /*	@(#)main.c	8.4 (Berkeley) 5/4/95	*/
-__RCSID("$NetBSD: main.c,v 1.51 2022/05/22 08:18:49 rillig Exp $");
+__RCSID("$NetBSD: main.c,v 1.52 2022/05/22 08:22:43 rillig Exp $");
 
 #include <sys/stat.h>
 #include <curses.h>
@@ -155,6 +155,27 @@ parse_args(int argc, char **argv)
 		err(1, "%s", *argv);
 }
 
+static void
+set_input_sources(enum input_source *input, int color)
+{
+	switch (test) {
+	case 0:			/* user versus program */
+		input[color] = USER;
+		input[color != BLACK ? BLACK : WHITE] = PROGRAM;
+		break;
+
+	case 1:			/* user versus user */
+		input[BLACK] = USER;
+		input[WHITE] = USER;
+		break;
+
+	case 2:			/* program versus program */
+		input[BLACK] = PROGRAM;
+		input[WHITE] = PROGRAM;
+		break;
+	}
+}
+
 int
 main(int argc, char **argv)
 {
@@ -230,22 +251,7 @@ again:
 		input[BLACK] = INPUTF;
 		input[WHITE] = INPUTF;
 	} else {
-		switch (test) {
-		case 0: /* user versus program */
-			input[color] = USER;
-			input[color != BLACK ? BLACK : WHITE] = PROGRAM;
-			break;
-
-		case 1: /* user versus user */
-			input[BLACK] = USER;
-			input[WHITE] = USER;
-			break;
-
-		case 2: /* program versus program */
-			input[BLACK] = PROGRAM;
-			input[WHITE] = PROGRAM;
-			break;
-		}
+		set_input_sources(input, color);
 	}
 	if (interactive) {
 		plyr[BLACK] = input[BLACK] == USER ? user : prog;
@@ -262,24 +268,7 @@ again:
 			curmove = readinput(inputfp);
 			if (curmove != EOF)
 				break;
-			/* Switch to another input source. */
-			switch (test) {
-			case 0: /* user versus program */
-				input[color] = USER;
-				input[color != BLACK ? BLACK : WHITE] =
-				    PROGRAM;
-				break;
-
-			case 1: /* user versus user */
-				input[BLACK] = USER;
-				input[WHITE] = USER;
-				break;
-
-			case 2: /* program versus program */
-				input[BLACK] = PROGRAM;
-				input[WHITE] = PROGRAM;
-				break;
-			}
+			set_input_sources(input, color);
 			plyr[BLACK] = input[BLACK] == USER ? user : prog;
 			plyr[WHITE] = input[WHITE] == USER ? user : prog;
 			bdwho();

Reply via email to