src: prefer 'if' over 'goto' where convenient

'goto' should not be used for normal control flow.

v2 add comment in lieu of goto label
This commit is contained in:
John Lindgren 2025-07-04 00:44:22 -04:00 committed by Consolatis
parent 8b7ae52a91
commit b48c250177
2 changed files with 23 additions and 25 deletions

View file

@ -265,23 +265,21 @@ static struct keybind *
match_keybinding(struct server *server, struct keyinfo *keyinfo,
bool is_virtual)
{
if (is_virtual) {
goto process_syms;
if (!is_virtual) {
/* First try keycodes */
struct keybind *keybind = match_keybinding_for_sym(server,
keyinfo->modifiers, XKB_KEY_NoSymbol, keyinfo->xkb_keycode);
if (keybind) {
wlr_log(WLR_DEBUG, "keycode matched");
return keybind;
}
}
/* First try keycodes */
struct keybind *keybind = match_keybinding_for_sym(server,
keyinfo->modifiers, XKB_KEY_NoSymbol, keyinfo->xkb_keycode);
if (keybind) {
wlr_log(WLR_DEBUG, "keycode matched");
return keybind;
}
process_syms:
/* Then fall back to keysyms */
for (int i = 0; i < keyinfo->translated.nr_syms; i++) {
keybind = match_keybinding_for_sym(server, keyinfo->modifiers,
keyinfo->translated.syms[i], keyinfo->xkb_keycode);
struct keybind *keybind =
match_keybinding_for_sym(server, keyinfo->modifiers,
keyinfo->translated.syms[i], keyinfo->xkb_keycode);
if (keybind) {
wlr_log(WLR_DEBUG, "translated keysym matched");
return keybind;
@ -290,8 +288,9 @@ process_syms:
/* And finally test for keysyms without modifier */
for (int i = 0; i < keyinfo->raw.nr_syms; i++) {
keybind = match_keybinding_for_sym(server, keyinfo->modifiers,
keyinfo->raw.syms[i], keyinfo->xkb_keycode);
struct keybind *keybind =
match_keybinding_for_sym(server, keyinfo->modifiers,
keyinfo->raw.syms[i], keyinfo->xkb_keycode);
if (keybind) {
wlr_log(WLR_DEBUG, "raw keysym matched");
return keybind;

View file

@ -543,20 +543,19 @@ ssd_update_button_hover(struct wlr_scene_node *node,
struct ssd_hover_state *hover_state)
{
struct ssd_button *button = NULL;
if (!node || !node->data) {
goto disable_old_hover;
}
struct node_descriptor *desc = node->data;
if (desc->type == LAB_NODE_DESC_SSD_BUTTON) {
button = node_ssd_button_from_node(node);
if (button == hover_state->button) {
/* Cursor is still on the same button */
return;
if (node && node->data) {
struct node_descriptor *desc = node->data;
if (desc->type == LAB_NODE_DESC_SSD_BUTTON) {
button = node_ssd_button_from_node(node);
if (button == hover_state->button) {
/* Cursor is still on the same button */
return;
}
}
}
disable_old_hover:
/* Disable old hover */
if (hover_state->button) {
update_button_state(hover_state->button, LAB_BS_HOVERD, false);
hover_state->view = NULL;