aboutsummaryrefslogtreecommitdiff
path: root/quantum/dynamic_macro.h
diff options
context:
space:
mode:
authorWojciech Siewierski <wojciech.siewierski@onet.pl>2017-05-04 01:19:05 +0200
committerWojciech Siewierski <wojciech.siewierski@onet.pl>2017-05-04 01:26:35 +0200
commit436d661775178fb62b46afdc3d755fdb413dcb35 (patch)
treeda4962debe39bfcb208558878fe67b76edd7b0c6 /quantum/dynamic_macro.h
parent5e2a9992783e584f66dfeef16abf9d31c976311a (diff)
downloadqmk_firmware-436d661775178fb62b46afdc3d755fdb413dcb35.tar.gz
qmk_firmware-436d661775178fb62b46afdc3d755fdb413dcb35.zip
dynamic_macro.h: Fix an off-by-two error
We need to check whether we just passed the after-the-end point of the other macro. Instead we were checking whether we are going to reach it now.
Diffstat (limited to 'quantum/dynamic_macro.h')
-rw-r--r--quantum/dynamic_macro.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/quantum/dynamic_macro.h b/quantum/dynamic_macro.h
index c9120897f..9e7845c99 100644
--- a/quantum/dynamic_macro.h
+++ b/quantum/dynamic_macro.h
@@ -99,14 +99,14 @@ void dynamic_macro_play(
99 * 99 *
100 * @param macro_buffer[in] The start of the used macro buffer. 100 * @param macro_buffer[in] The start of the used macro buffer.
101 * @param macro_pointer[in,out] The current buffer position. 101 * @param macro_pointer[in,out] The current buffer position.
102 * @param macro_end2[in] The end of the other macro which shouldn't be overwritten. 102 * @param macro2_end[in] The last buffer element it is safe to use before overwriting the other macro.
103 * @param direction[in] Either +1 or -1, which way to iterate the buffer. 103 * @param direction[in] Either +1 or -1, which way to iterate the buffer.
104 * @param record[in] The current keypress. 104 * @param record[in] The current keypress.
105 */ 105 */
106void dynamic_macro_record_key( 106void dynamic_macro_record_key(
107 keyrecord_t *macro_buffer, 107 keyrecord_t *macro_buffer,
108 keyrecord_t **macro_pointer, 108 keyrecord_t **macro_pointer,
109 keyrecord_t *macro_end2, 109 keyrecord_t *macro2_end,
110 int8_t direction, 110 int8_t direction,
111 keyrecord_t *record) 111 keyrecord_t *record)
112{ 112{
@@ -115,7 +115,7 @@ void dynamic_macro_record_key(
115 return; 115 return;
116 } 116 }
117 117
118 if (*macro_pointer + direction != macro_end2) { 118 if (*macro_pointer - direction != macro2_end) {
119 **macro_pointer = *record; 119 **macro_pointer = *record;
120 *macro_pointer += direction; 120 *macro_pointer += direction;
121 } else { 121 } else {