summaryrefslogtreecommitdiff
path: root/apps/menus
diff options
context:
space:
mode:
Diffstat (limited to 'apps/menus')
-rw-r--r--apps/menus/eq_menu.c25
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
240static char *advancedmenu_item_get_name(int selected_item, void *data, char *buffer, size_t len) 240static 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
282static int advancedmenu_speak_item(int selected_item, void *data) 287static int advancedmenu_speak_item(int selected_item, void *data)