summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjoeycastillo <joeycastillo@utexas.edu>2023-01-04 09:03:23 -0600
committerGitHub <noreply@github.com>2023-01-04 09:03:23 -0600
commited2d14b18cc2ac2c4beee2fae6873d3cdc93730a (patch)
tree8f788d2b3a0fbf784eeb0a27d90ef3b267bf1125
parent851d047c818dacc30c86f4d87f33247dcfb0095c (diff)
parent6ad67848d0883a80b46a6a728e1f940a9b3d12b4 (diff)
downloadSensor-Watch-ed2d14b18cc2ac2c4beee2fae6873d3cdc93730a.tar.gz
Sensor-Watch-ed2d14b18cc2ac2c4beee2fae6873d3cdc93730a.tar.bz2
Sensor-Watch-ed2d14b18cc2ac2c4beee2fae6873d3cdc93730a.zip
Merge pull request #158 from neutralinsomniac/fix-sailing-face-compiler-warnings
fix compiler warnings in sailing face
-rw-r--r--movement/watch_faces/complication/sailing_face.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/movement/watch_faces/complication/sailing_face.c b/movement/watch_faces/complication/sailing_face.c
index 37877800..97868a54 100644
--- a/movement/watch_faces/complication/sailing_face.c
+++ b/movement/watch_faces/complication/sailing_face.c
@@ -33,6 +33,7 @@
#define sl_SELECTIONS 6
#define DEFAULT_MINUTES { 5,4,1,0,0,0 }
+#define UNUSED(x) (void)(x)
static inline int32_t get_tz_offset(movement_settings_t *settings) {
return movement_timezone_offsets[settings->bit.time_zone] * 60;
@@ -65,6 +66,9 @@ static void start(sailing_state_t *state, movement_settings_t *settings) {
}
static void draw(sailing_state_t *state, uint8_t subsecond, movement_settings_t *settings) {
+ UNUSED(settings);
+
+ char tmp[24];
char buf[16];
uint32_t delta;
@@ -96,7 +100,9 @@ static void draw(sailing_state_t *state, uint8_t subsecond, movement_settings_t
sprintf(buf, "SL %2d%02d", state->minutes[0], 0);
break;
case sl_setting:
- sprintf(buf, "SL %1d%1d%1d%1d%1d%1d",
+ // this sprintf to a larger tmp is to guarantee that no buffer overflows
+ // occur here (and to squelch the corresponding compiler warning)
+ sprintf(tmp, "SL %1d%1d%1d%1d%1d%1d",
state->minutes[0],
state->minutes[1],
state->minutes[2],
@@ -104,6 +110,7 @@ static void draw(sailing_state_t *state, uint8_t subsecond, movement_settings_t
state->minutes[4],
state->minutes[5]
);
+ memcpy(buf, tmp, sizeof(buf));
if (subsecond % 2) {
buf[4 + state->selection] = ' ';
}