Skip to content

Commit

Permalink
cmd_bar: change checkarg to at least 2
Browse files Browse the repository at this point in the history
  • Loading branch information
RedSoxFan committed Oct 13, 2018
1 parent ff66e6f commit 64b32d6
Showing 1 changed file with 21 additions and 23 deletions.
44 changes: 21 additions & 23 deletions sway/commands/bar.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,37 +46,35 @@ static bool is_subcommand(char *name) {

struct cmd_results *cmd_bar(int argc, char **argv) {
struct cmd_results *error = NULL;
if ((error = checkarg(argc, "bar", EXPECTED_AT_LEAST, 1))) {
if ((error = checkarg(argc, "bar", EXPECTED_AT_LEAST, 2))) {
return error;
}

bool spawn = false;
if (argc > 1) {
struct bar_config *bar = NULL;
if (!is_subcommand(argv[0]) ||
(strcmp(argv[0], "id") != 0 && is_subcommand(argv[1]))) {
for (int i = 0; i < config->bars->length; ++i) {
struct bar_config *item = config->bars->items[i];
if (strcmp(item->id, argv[0]) == 0) {
wlr_log(WLR_DEBUG, "Selecting bar: %s", argv[0]);
bar = item;
break;
}
struct bar_config *bar = NULL;
if (!is_subcommand(argv[0]) ||
(strcmp(argv[0], "id") != 0 && is_subcommand(argv[1]))) {
for (int i = 0; i < config->bars->length; ++i) {
struct bar_config *item = config->bars->items[i];
if (strcmp(item->id, argv[0]) == 0) {
wlr_log(WLR_DEBUG, "Selecting bar: %s", argv[0]);
bar = item;
break;
}
}
if (!bar) {
spawn = !config->reading;
wlr_log(WLR_DEBUG, "Creating bar: %s", argv[0]);
bar = default_bar_config();
if (!bar) {
spawn = !config->reading;
wlr_log(WLR_DEBUG, "Creating bar: %s", argv[0]);
bar = default_bar_config();
if (!bar) {
return cmd_results_new(CMD_FAILURE, "bar",
"Unable to allocate bar state");
}

bar->id = strdup(argv[0]);
return cmd_results_new(CMD_FAILURE, "bar",
"Unable to allocate bar state");
}
config->current_bar = bar;
++argv; --argc;

bar->id = strdup(argv[0]);
}
config->current_bar = bar;
++argv; --argc;
}

if (!config->current_bar && config->reading) {
Expand Down

0 comments on commit 64b32d6

Please sign in to comment.