diff options
author | Aidan MacDonald <amachronic@protonmail.com> | 2021-08-06 19:12:20 +0100 |
---|---|---|
committer | Aidan MacDonald <amachronic@protonmail.com> | 2021-08-06 18:23:57 +0000 |
commit | d541a72a0e23af74b0d7fd4df604f78f4d91f417 (patch) | |
tree | be6c08013b739c9b17c669a1139e261b17bcc56c | |
parent | 1a9a5fc279aba2006ba415a31ef780026ea5d305 (diff) | |
download | rockbox-d541a72a0e23af74b0d7fd4df604f78f4d91f417.tar.gz rockbox-d541a72a0e23af74b0d7fd4df604f78f4d91f417.zip |
Bugfixes in eq_menu.c
Change-Id: Ibf754554f685d13ac00a49694fcecee459ff838f
-rw-r--r-- | apps/menus/eq_menu.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/apps/menus/eq_menu.c b/apps/menus/eq_menu.c index 49d35c133b..40adaca711 100644 --- a/apps/menus/eq_menu.c +++ b/apps/menus/eq_menu.c | |||
@@ -239,14 +239,12 @@ static void selection_to_banditem(int selection, int expanded_band, int *band, i | |||
239 | 239 | ||
240 | static char *advancedmenu_item_get_name(int selected_item, void *data, char *buffer, size_t len) | 240 | static char *advancedmenu_item_get_name(int selected_item, void *data, char *buffer, size_t len) |
241 | { | 241 | { |
242 | (void)len; | ||
243 | int band; | 242 | int band; |
244 | int item; | 243 | int item; |
245 | char *lang = NULL; | 244 | int lang = -1; |
246 | 245 | ||
247 | selection_to_banditem(selected_item, *(intptr_t*)data, &band, &item); | 246 | selection_to_banditem(selected_item, *(intptr_t*)data, &band, &item); |
248 | 247 | ||
249 | strcpy(buffer, "\t"); | ||
250 | switch (item) | 248 | switch (item) |
251 | { | 249 | { |
252 | case 0: /* Band title */ | 250 | case 0: /* Band title */ |
@@ -256,27 +254,34 @@ static char *advancedmenu_item_get_name(int selected_item, void *data, char *buf | |||
256 | return str(LANG_EQUALIZER_BAND_HIGH_SHELF); | 254 | return str(LANG_EQUALIZER_BAND_HIGH_SHELF); |
257 | else | 255 | else |
258 | { | 256 | { |
259 | snprintf(buffer, MAX_PATH, str(LANG_EQUALIZER_BAND_PEAK), band); | 257 | snprintf(buffer, len, str(LANG_EQUALIZER_BAND_PEAK), band); |
260 | return buffer; | 258 | return buffer; |
261 | } | 259 | } |
262 | break; | 260 | break; |
263 | case 1: /* cutoff */ | 261 | case 1: /* cutoff */ |
264 | if (band == 0) | 262 | if (band == 0) |
265 | lang = str(LANG_EQUALIZER_BAND_CUTOFF); | 263 | lang = LANG_EQUALIZER_BAND_CUTOFF; |
266 | else if (band == EQ_NUM_BANDS - 1) | 264 | else if (band == EQ_NUM_BANDS - 1) |
267 | lang = str(LANG_EQUALIZER_BAND_CUTOFF); | 265 | lang = LANG_EQUALIZER_BAND_CUTOFF; |
268 | else | 266 | else |
269 | lang = str(LANG_EQUALIZER_BAND_CENTER); | 267 | lang = LANG_EQUALIZER_BAND_CENTER; |
270 | break; | 268 | break; |
271 | case 2: /* Q */ | 269 | case 2: /* Q */ |
272 | lang = str(LANG_EQUALIZER_BAND_Q); | 270 | lang = LANG_EQUALIZER_BAND_Q; |
273 | break; | 271 | break; |
274 | case 3: /* Gain */ | 272 | case 3: /* Gain */ |
275 | lang = str(LANG_GAIN); | 273 | lang = LANG_GAIN; |
276 | break; | 274 | break; |
277 | } | 275 | } |
278 | 276 | ||
279 | return strcat(buffer, lang);; | 277 | if(lang < 0) |
278 | buffer[0] = 0; | ||
279 | else { | ||
280 | buffer[0] = '\t'; | ||
281 | strlcpy(&buffer[1], str(lang), len - 1); | ||
282 | } | ||
283 | |||
284 | return buffer; | ||
280 | } | 285 | } |
281 | 286 | ||
282 | static int advancedmenu_speak_item(int selected_item, void *data) | 287 | static int advancedmenu_speak_item(int selected_item, void *data) |