diff options
author | Teddy Wing | 2018-08-28 08:54:05 +0200 |
---|---|---|
committer | Teddy Wing | 2018-08-28 08:54:05 +0200 |
commit | 1814b50d5b96a3ddbf5fe1e3c8e781c53ac747c4 (patch) | |
tree | f7b7fe78643fad7ea1f994717e8c6cb27276cd01 | |
parent | 2a3731003a53104340658c95491dc9587d2cea6c (diff) | |
download | DomeKey-1814b50d5b96a3ddbf5fe1e3c8e781c53ac747c4.tar.bz2 |
HeadphoneKey(runAction): Use `while` loop over `result->action`
Using `strlen` loops once over the string, so along with our `for` loop,
we have two loops over the string. No big deal since these shouldn't be
that long. But, using a `while` loop we can iterate just once.
Reference:
Alexandre C. (https://stackoverflow.com/users/373025/alexandre-c)
https://stackoverflow.com/questions/3213827/how-to-iterate-over-a-string-in-c/3213903#3213903
-rw-r--r-- | DomeKey/HeadphoneKey.m | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/DomeKey/HeadphoneKey.m b/DomeKey/HeadphoneKey.m index 1d5811b..515b7de 100644 --- a/DomeKey/HeadphoneKey.m +++ b/DomeKey/HeadphoneKey.m @@ -77,9 +77,12 @@ const CKeyActionResult *result = c_run_key_action(trigger, count); if (*result->kind == MapKind_Map) { - size_t length = strlen(result->action); - for (size_t i = 0; i < length; i++) { + const char *c = result->action; + int i = 0; + while (*c) { [KeyboardSimulator simpleKeyPressWithKey:result->action[i]]; + i++; + *c++; } } |