Browse code

Made a console_listen function

neauoire authored on 15/08/2023 23:24:40
Showing 4 changed files
... ...
@@ -24,6 +24,16 @@ console_input(Uxn *u, char c, int type)
24 24
 	return uxn_eval(u, PEEK2(d));
25 25
 }
26 26
 
27
+void
28
+console_listen(Uxn *u, int i, int argc, char **argv)
29
+{
30
+	for(; i < argc; i++) {
31
+		char *p = argv[i];
32
+		while(*p) console_input(u, *p++, CONSOLE_ARG);
33
+		console_input(u, '\n', i == argc - 1 ? CONSOLE_END : CONSOLE_EOA);
34
+	}
35
+}
36
+
27 37
 void
28 38
 console_deo(Uint8 *d, Uint8 port)
29 39
 {
... ...
@@ -19,4 +19,5 @@ WITH REGARD TO THIS SOFTWARE.
19 19
 #define CONSOLE_END 0x4
20 20
 
21 21
 int console_input(Uxn *u, char c, int type);
22
+void console_listen(Uxn *u, int i, int argc, char **argv);
22 23
 void console_deo(Uint8 *d, Uint8 port);
... ...
@@ -62,11 +62,7 @@ main(int argc, char **argv)
62 62
 	/* Game Loop */
63 63
 	u.dev[0x17] = argc - i;
64 64
 	if(uxn_eval(&u, PAGE_PROGRAM)) {
65
-		for(; i < argc; i++) {
66
-			char *p = argv[i];
67
-			while(*p) console_input(&u, *p++, CONSOLE_ARG);
68
-			console_input(&u, '\n', i == argc - 1 ? CONSOLE_END : CONSOLE_EOA);
69
-		}
65
+		console_listen(&u, i, argc, argv);
70 66
 		while(!u.dev[0x0f]) {
71 67
 			int c = fgetc(stdin);
72 68
 			if(c == EOF) break;
... ...
@@ -549,11 +549,7 @@ main(int argc, char **argv)
549 549
 	if(!emu_start(&u, rom_path))
550 550
 		return system_error("Start", "Failed");
551 551
 	/* read arguments */
552
-	for(; i < argc; i++) {
553
-		char *p = argv[i];
554
-		while(*p) console_input(&u, *p++, CONSOLE_ARG);
555
-		console_input(&u, '\n', i == argc - 1 ? CONSOLE_END : CONSOLE_EOA);
556
-	}
552
+	console_listen(&u, i, argc, argv);
557 553
 	/* start rom */
558 554
 	run(&u, rom_path);
559 555
 	/* finished */