summaryrefslogtreecommitdiffstats
path: root/sway/commands/client.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/commands/client.c')
-rw-r--r--sway/commands/client.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/sway/commands/client.c b/sway/commands/client.c
index 7954f670..30f9137e 100644
--- a/sway/commands/client.c
+++ b/sway/commands/client.c
@@ -4,27 +4,27 @@
4 4
5static struct cmd_results *parse_border_color(struct border_colors *border_colors, const char *cmd_name, int argc, char **argv) { 5static struct cmd_results *parse_border_color(struct border_colors *border_colors, const char *cmd_name, int argc, char **argv) {
6 struct cmd_results *error = NULL; 6 struct cmd_results *error = NULL;
7 if (argc != 5) { 7 if (argc < 3 || argc > 5) {
8 return cmd_results_new(CMD_INVALID, cmd_name, "Requires exactly five color values"); 8 return cmd_results_new(CMD_INVALID, cmd_name, "Requires between three and five color values");
9 } 9 }
10 10
11 uint32_t colors[5]; 11 uint32_t *colors[5] = {
12 &border_colors->border,
13 &border_colors->background,
14 &border_colors->text,
15 &border_colors->indicator,
16 &border_colors->child_border
17 };
12 int i; 18 int i;
13 for (i = 0; i < 5; i++) { 19 for (i = 0; i < argc; i++) {
14 char buffer[10]; 20 char buffer[10];
15 error = add_color(cmd_name, buffer, argv[i]); 21 error = add_color(cmd_name, buffer, argv[i]);
16 if (error) { 22 if (error) {
17 return error; 23 return error;
18 } 24 }
19 colors[i] = strtoul(buffer+1, NULL, 16); 25 *colors[i] = strtoul(buffer + 1, NULL, 16);
20 } 26 }
21 27
22 border_colors->border = colors[0];
23 border_colors->background = colors[1];
24 border_colors->text = colors[2];
25 border_colors->indicator = colors[3];
26 border_colors->child_border = colors[4];
27
28 return cmd_results_new(CMD_SUCCESS, NULL, NULL); 28 return cmd_results_new(CMD_SUCCESS, NULL, NULL);
29} 29}
30 30