summaryrefslogtreecommitdiff
path: root/apps/screens.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/screens.c')
-rw-r--r--apps/screens.c29
1 files changed, 16 insertions, 13 deletions
diff --git a/apps/screens.c b/apps/screens.c
index 81dae1f413..569ece4faa 100644
--- a/apps/screens.c
+++ b/apps/screens.c
@@ -1116,7 +1116,8 @@ static const int id3_headers[]=
1116 LANG_ID3_PATH, 1116 LANG_ID3_PATH,
1117}; 1117};
1118 1118
1119static char * id3_get_info(int selected_item, void* data, char *buffer) 1119static char * id3_get_info(int selected_item, void* data,
1120 char *buffer, size_t buffer_len)
1120{ 1121{
1121 struct mp3entry* id3 =(struct mp3entry*)data; 1122 struct mp3entry* id3 =(struct mp3entry*)data;
1122 int info_no=selected_item/2; 1123 int info_no=selected_item/2;
@@ -1150,7 +1151,7 @@ static char * id3_get_info(int selected_item, void* data, char *buffer)
1150 info = id3->disc_string; 1151 info = id3->disc_string;
1151 else if (id3->discnum) 1152 else if (id3->discnum)
1152 { 1153 {
1153 snprintf(buffer, MAX_PATH, "%d", id3->discnum); 1154 snprintf(buffer, buffer_len, "%d", id3->discnum);
1154 info = buffer; 1155 info = buffer;
1155 } 1156 }
1156 break; 1157 break;
@@ -1159,7 +1160,7 @@ static char * id3_get_info(int selected_item, void* data, char *buffer)
1159 info = id3->track_string; 1160 info = id3->track_string;
1160 else if (id3->tracknum) 1161 else if (id3->tracknum)
1161 { 1162 {
1162 snprintf(buffer, MAX_PATH, "%d", id3->tracknum); 1163 snprintf(buffer, buffer_len, "%d", id3->tracknum);
1163 info = buffer; 1164 info = buffer;
1164 } 1165 }
1165 break; 1166 break;
@@ -1174,26 +1175,26 @@ static char * id3_get_info(int selected_item, void* data, char *buffer)
1174 info = id3->year_string; 1175 info = id3->year_string;
1175 else if (id3->year) 1176 else if (id3->year)
1176 { 1177 {
1177 snprintf(buffer, MAX_PATH, "%d", id3->year); 1178 snprintf(buffer, buffer_len, "%d", id3->year);
1178 info = buffer; 1179 info = buffer;
1179 } 1180 }
1180 break; 1181 break;
1181 case 10:/*LANG_ID3_LENGTH*/ 1182 case 10:/*LANG_ID3_LENGTH*/
1182 format_time(buffer, MAX_PATH, id3->length); 1183 format_time(buffer, buffer_len, id3->length);
1183 info=buffer; 1184 info=buffer;
1184 break; 1185 break;
1185 case 11:/*LANG_ID3_PLAYLIST*/ 1186 case 11:/*LANG_ID3_PLAYLIST*/
1186 snprintf(buffer, MAX_PATH, "%d/%d", playlist_get_display_index(), 1187 snprintf(buffer, buffer_len, "%d/%d", playlist_get_display_index(),
1187 playlist_amount()); 1188 playlist_amount());
1188 info=buffer; 1189 info=buffer;
1189 break; 1190 break;
1190 case 12:/*LANG_ID3_BITRATE*/ 1191 case 12:/*LANG_ID3_BITRATE*/
1191 snprintf(buffer, MAX_PATH, "%d kbps%s", id3->bitrate, 1192 snprintf(buffer, buffer_len, "%d kbps%s", id3->bitrate,
1192 id3->vbr ? str(LANG_ID3_VBR) : (const unsigned char*) ""); 1193 id3->vbr ? str(LANG_ID3_VBR) : (const unsigned char*) "");
1193 info=buffer; 1194 info=buffer;
1194 break; 1195 break;
1195 case 13:/*LANG_ID3_FREQUENCY*/ 1196 case 13:/*LANG_ID3_FREQUENCY*/
1196 snprintf(buffer, MAX_PATH, "%ld Hz", id3->frequency); 1197 snprintf(buffer, buffer_len, "%ld Hz", id3->frequency);
1197 info=buffer; 1198 info=buffer;
1198 break; 1199 break;
1199#if CONFIG_CODEC == SWCODEC 1200#if CONFIG_CODEC == SWCODEC
@@ -1236,21 +1237,23 @@ bool browse_id3(void)
1236 } 1237 }
1237} 1238}
1238 1239
1239static char* runtime_get_data(int selected_item, void* data, char* buffer) 1240static char* runtime_get_data(int selected_item, void* data,
1241 char* buffer, size_t buffer_len)
1240{ 1242{
1241 (void) data; 1243 (void)data;
1242 unsigned char *headers[] = {str(LANG_RUNNING_TIME), str(LANG_TOP_TIME) }; 1244 unsigned char *headers[] = {str(LANG_RUNNING_TIME), str(LANG_TOP_TIME) };
1243 int t; 1245 int t;
1244 if(!(selected_item%2)) 1246 if(!(selected_item%2))
1245 return headers[selected_item/2]; 1247 return headers[selected_item/2];
1246 1248
1247 if(selected_item/2) t = global_status.topruntime; 1249 if(selected_item/2)
1250 t = global_status.topruntime;
1251
1248 else t = global_status.runtime; 1252 else t = global_status.runtime;
1249 1253
1250 snprintf(buffer, 16, "%dh %dm %ds", 1254 snprintf(buffer, buffer_len, "%dh %dm %ds",
1251 t / 3600, (t % 3600) / 60, t % 60); 1255 t / 3600, (t % 3600) / 60, t % 60);
1252 return buffer; 1256 return buffer;
1253
1254} 1257}
1255 1258
1256static int runtime_speak_data(int selected_item, void* data) 1259static int runtime_speak_data(int selected_item, void* data)