diff options
| author | Furkan Sahin <furkan-dev@proton.me> | 2016-01-23 14:26:45 -0500 |
|---|---|---|
| committer | Furkan Sahin <furkan-dev@proton.me> | 2016-01-23 14:26:45 -0500 |
| commit | 755bd252cad9506b653b16cb9d69fb2e3d86904d (patch) | |
| tree | 080a88e1c233da085636465f0da9bdcb15dd33bd | |
| parent | 53ae900ec92c6d97deb0a7741e288267290ad460 (diff) | |
| parent | 214464fbd93138380d8001b307b0620b7619adf2 (diff) | |
Merge pull request #465 from sardemff7/master
Some fixes in commands/assign
| -rw-r--r-- | sway/commands.c | 11 |
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) { 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); |
