diff options
author | Nils Wallménius <nils@rockbox.org> | 2008-04-09 15:25:17 +0000 |
---|---|---|
committer | Nils Wallménius <nils@rockbox.org> | 2008-04-09 15:25:17 +0000 |
commit | 6848961aa5f93a290917071ff3496e1d5026621b (patch) | |
tree | 70d377348ab0694c356fffd9fe25f095ccbe88fe /apps/screens.c | |
parent | ae64d2602befd5589c8c0141a6d812841fdfb232 (diff) | |
download | rockbox-6848961aa5f93a290917071ff3496e1d5026621b.tar.gz rockbox-6848961aa5f93a290917071ff3496e1d5026621b.zip |
Pass the buffer length to the list_get_name callback functions instead of using hardcoded MAX_PATH
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17049 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/screens.c')
-rw-r--r-- | apps/screens.c | 29 |
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 | ||
1119 | static char * id3_get_info(int selected_item, void* data, char *buffer) | 1119 | static 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 | ||
1239 | static char* runtime_get_data(int selected_item, void* data, char* buffer) | 1240 | static 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 | ||
1256 | static int runtime_speak_data(int selected_item, void* data) | 1259 | static int runtime_speak_data(int selected_item, void* data) |