commit 78b2808c52e9a535693776433c3c92426baff611
parent 06f6552eeda696242201cc0997d1e36cb45a7103
Author: Drew DeVault <sir@cmpwn.com>
Date: Sat, 23 Jan 2016 14:26:45 -0500
Merge pull request #465 from sardemff7/master
Some fixes in commands/assign
Diffstat:
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/sway/commands.c b/sway/commands.c
@@ -169,15 +169,18 @@ static struct cmd_results *cmd_assign(int argc, char **argv) {
char *criteria = *argv++;
- if (strncmp(*argv, "→", 1) == 0) {
+ if (strncmp(*argv, "→", strlen("→")) == 0) {
+ if (argc < 3) {
+ return cmd_results_new(CMD_INVALID, "assign", "Missing workspace");
+ }
argv++;
}
char *movecmd = "move container to workspace ";
- int arglen = strlen(*argv);
- char *cmdlist = calloc(1, sizeof(movecmd) + arglen);
+ int arglen = strlen(movecmd) + strlen(*argv) + 1;
+ char *cmdlist = calloc(1, arglen);
- sprintf(cmdlist, "%s%s", movecmd, *argv);
+ snprintf(cmdlist, arglen, "%s%s", movecmd, *argv);
struct criteria *crit = malloc(sizeof(struct criteria));
crit->crit_raw = strdup(criteria);