version 1.33, 2016/10/10 21:51:39 |
version 1.34, 2016/10/13 10:01:49 |
|
|
fs->idx = -1; |
fs->idx = -1; |
} |
} |
|
|
|
/* Check if state is empty/ */ |
|
int |
|
cmd_find_empty_state(struct cmd_find_state *fs) |
|
{ |
|
if (fs->s == NULL && fs->wl == NULL && fs->w == NULL && fs->wp == NULL) |
|
return (1); |
|
return (0); |
|
} |
|
|
/* Check if a state if valid. */ |
/* Check if a state if valid. */ |
int |
int |
cmd_find_valid_state(struct cmd_find_state *fs) |
cmd_find_valid_state(struct cmd_find_state *fs) |
|
|
cmd_find_clear_state(fs, cmdq, flags); |
cmd_find_clear_state(fs, cmdq, flags); |
|
|
/* Find current state. */ |
/* Find current state. */ |
if (server_check_marked() && (flags & CMD_FIND_DEFAULT_MARKED)) |
if (server_check_marked() && (flags & CMD_FIND_DEFAULT_MARKED)) { |
fs->current = &marked_pane; |
fs->current = &marked_pane; |
else if (cmd_find_valid_state(&cmdq->current)) |
log_debug(" current is marked pane"); |
|
} else if (cmd_find_valid_state(&cmdq->current)) { |
fs->current = &cmdq->current; |
fs->current = &cmdq->current; |
else |
log_debug(" current is from queue"); |
|
} else { |
fs->current = current; |
fs->current = current; |
|
log_debug(" current is from argument"); |
|
} |
|
if (!cmd_find_empty_state(fs->current) && |
|
!cmd_find_valid_state(fs->current)) |
|
fatalx("invalid current find state"); |
|
|
/* An empty or NULL target is the current. */ |
/* An empty or NULL target is the current. */ |
if (target == NULL || *target == '\0') |
if (target == NULL || *target == '\0') |