~ruther/qmk_firmware

d8e9a0f7a319e27c8dbb4e5a1131bc02b365da76 — fauxpark 6 years ago 8c5c1fd
Change return type of layer_switch_get_layer() to uint8_t (#5011)

* Change return type of layer_switch_get_layer() to uint8_t

* Keep loop index signed so we don't wrap around
2 files changed, 3 insertions(+), 3 deletions(-)

M tmk_core/common/action_layer.c
M tmk_core/common/action_layer.h
M tmk_core/common/action_layer.c => tmk_core/common/action_layer.c +2 -2
@@ 296,7 296,7 @@ action_t store_or_get_action(bool pressed, keypos_t key) {
 *
 * Gets the layer based on key info
 */
int8_t layer_switch_get_layer(keypos_t key) {
uint8_t layer_switch_get_layer(keypos_t key) {
#ifndef NO_ACTION_LAYER
  action_t action;
  action.code = ACTION_TRANSPARENT;


@@ 304,7 304,7 @@ int8_t layer_switch_get_layer(keypos_t key) {
  uint32_t layers = layer_state | default_layer_state;
  /* check top layer first */
  for (int8_t i = 31; i >= 0; i--) {
    if (layers & (1UL<<i)) {
    if (layers & (1UL << i)) {
      action = action_for_key(i, key);
      if (action.code != ACTION_TRANSPARENT) {
          return i;

M tmk_core/common/action_layer.h => tmk_core/common/action_layer.h +1 -1
@@ 97,7 97,7 @@ uint8_t read_source_layers_cache(keypos_t key);
action_t store_or_get_action(bool pressed, keypos_t key);

/* return the topmost non-transparent layer currently associated with key */
int8_t layer_switch_get_layer(keypos_t key);
uint8_t layer_switch_get_layer(keypos_t key);

/* return action depending on current layer status */
action_t layer_switch_get_action(keypos_t key);