From 6ad67848d0883a80b46a6a728e1f940a9b3d12b4 Mon Sep 17 00:00:00 2001 From: Jeremy O'Brien Date: Wed, 4 Jan 2023 09:47:26 -0500 Subject: fix compiler warnings in sailing face --- movement/watch_faces/complication/sailing_face.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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] = ' '; } -- cgit v1.2.3