summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Drew DeVault <sir@cmpwn.com>2016-01-23 14:26:45 -0500
committerLibravatar Drew DeVault <sir@cmpwn.com>2016-01-23 14:26:45 -0500
commit78b2808c52e9a535693776433c3c92426baff611 (patch)
tree080a88e1c233da085636465f0da9bdcb15dd33bd
parenttravis: remove wlc dep: xcb-util-wm (diff)
parentcommands: Fix memory allocation in assign (diff)
downloadsway-78b2808c52e9a535693776433c3c92426baff611.tar.gz
sway-78b2808c52e9a535693776433c3c92426baff611.tar.zst
sway-78b2808c52e9a535693776433c3c92426baff611.zip
Merge pull request #465 from sardemff7/master
Some fixes in commands/assign
-rw-r--r--sway/commands.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sway/commands.c b/sway/commands.c
index f6326038..9f6e5032 100644
--- a/sway/commands.c
+++ b/sway/commands.c
@@ -169,15 +169,18 @@ static struct cmd_results *cmd_assign(int argc, char **argv) {
169 169
170 char *criteria = *argv++; 170 char *criteria = *argv++;
171 171
172 if (strncmp(*argv, "→", 1) == 0) { 172 if (strncmp(*argv, "→", strlen("→")) == 0) {
173 if (argc < 3) {
174 return cmd_results_new(CMD_INVALID, "assign", "Missing workspace");
175 }
173 argv++; 176 argv++;
174 } 177 }
175 178
176 char *movecmd = "move container to workspace "; 179 char *movecmd = "move container to workspace ";
177 int arglen = strlen(*argv); 180 int arglen = strlen(movecmd) + strlen(*argv) + 1;
178 char *cmdlist = calloc(1, sizeof(movecmd) + arglen); 181 char *cmdlist = calloc(1, arglen);
179 182
180 sprintf(cmdlist, "%s%s", movecmd, *argv); 183 snprintf(cmdlist, arglen, "%s%s", movecmd, *argv);
181 184
182 struct criteria *crit = malloc(sizeof(struct criteria)); 185 struct criteria *crit = malloc(sizeof(struct criteria));
183 crit->crit_raw = strdup(criteria); 186 crit->crit_raw = strdup(criteria);