diff options
author | William Wilgus <wilgus.william@gmail.com> | 2023-10-03 21:54:19 -0400 |
---|---|---|
committer | William Wilgus <wilgus.william@gmail.com> | 2023-10-03 21:54:19 -0400 |
commit | 6634a60bf0750159ffc34bdff548fac0817e72bc (patch) | |
tree | f91cd7b74cb518c57735ce22cb668f2737cb3fc7 /apps/plugins/pictureflow | |
parent | eee48dca39cbbe3cf4ad13bcf1d90bb3492151e5 (diff) | |
download | rockbox-6634a60bf0750159ffc34bdff548fac0817e72bc.tar.gz rockbox-6634a60bf0750159ffc34bdff548fac0817e72bc.zip |
tagcache/tagtree remove static buffer from tagcache_get_next
callers can supply their own buffer
Change-Id: I8996ecfb88e30926296a0cb0563cf6c46977323e
Diffstat (limited to 'apps/plugins/pictureflow')
-rw-r--r-- | apps/plugins/pictureflow/pictureflow.c | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/apps/plugins/pictureflow/pictureflow.c b/apps/plugins/pictureflow/pictureflow.c index 1c380c7f28..87ad1a403f 100644 --- a/apps/plugins/pictureflow/pictureflow.c +++ b/apps/plugins/pictureflow/pictureflow.c | |||
@@ -1141,6 +1141,8 @@ static void write_artist_entry(struct tagcache_search *tcs, | |||
1141 | static int get_tcs_search_res(int type, struct tagcache_search *tcs, | 1141 | static int get_tcs_search_res(int type, struct tagcache_search *tcs, |
1142 | void **buf, size_t *bufsz) | 1142 | void **buf, size_t *bufsz) |
1143 | { | 1143 | { |
1144 | char tcs_buf[TAGCACHE_BUFSZ]; | ||
1145 | const long tcs_bufsz = sizeof(tcs_buf); | ||
1144 | int ret = SUCCESS; | 1146 | int ret = SUCCESS; |
1145 | unsigned int l, name_idx = 0; | 1147 | unsigned int l, name_idx = 0; |
1146 | void (*writefn)(struct tagcache_search *, int, unsigned int); | 1148 | void (*writefn)(struct tagcache_search *, int, unsigned int); |
@@ -1156,7 +1158,7 @@ static int get_tcs_search_res(int type, struct tagcache_search *tcs, | |||
1156 | data_size = sizeof(struct album_data); | 1158 | data_size = sizeof(struct album_data); |
1157 | } | 1159 | } |
1158 | 1160 | ||
1159 | while (rb->tagcache_get_next(tcs)) | 1161 | while (rb->tagcache_get_next(tcs, tcs_buf, tcs_bufsz)) |
1160 | { | 1162 | { |
1161 | if (rb->button_get(false) > BUTTON_NONE) | 1163 | if (rb->button_get(false) > BUTTON_NONE) |
1162 | { | 1164 | { |
@@ -1196,6 +1198,8 @@ static int get_tcs_search_res(int type, struct tagcache_search *tcs, | |||
1196 | static int create_album_untagged(struct tagcache_search *tcs, | 1198 | static int create_album_untagged(struct tagcache_search *tcs, |
1197 | void **buf, size_t *bufsz) | 1199 | void **buf, size_t *bufsz) |
1198 | { | 1200 | { |
1201 | static char tcs_buf[TAGCACHE_BUFSZ]; | ||
1202 | const long tcs_bufsz = sizeof(tcs_buf); | ||
1199 | int ret = SUCCESS; | 1203 | int ret = SUCCESS; |
1200 | int album_count = pf_idx.album_ct; /* store existing count */ | 1204 | int album_count = pf_idx.album_ct; /* store existing count */ |
1201 | int total_count = pf_idx.album_ct + pf_idx.artist_ct * 2; | 1205 | int total_count = pf_idx.album_ct + pf_idx.artist_ct * 2; |
@@ -1210,7 +1214,7 @@ static int create_album_untagged(struct tagcache_search *tcs, | |||
1210 | { | 1214 | { |
1211 | rb->tagcache_search_add_filter(tcs, tag_album, pf_idx.album_untagged_seek); | 1215 | rb->tagcache_search_add_filter(tcs, tag_album, pf_idx.album_untagged_seek); |
1212 | 1216 | ||
1213 | while (rb->tagcache_get_next(tcs)) | 1217 | while (rb->tagcache_get_next(tcs, tcs_buf, tcs_bufsz)) |
1214 | { | 1218 | { |
1215 | if (rb->button_get(false) > BUTTON_NONE) { | 1219 | if (rb->button_get(false) > BUTTON_NONE) { |
1216 | if (confirm_quit()) | 1220 | if (confirm_quit()) |
@@ -1339,6 +1343,8 @@ static int build_artist_index(struct tagcache_search *tcs, | |||
1339 | 1343 | ||
1340 | static int assign_album_year(void) | 1344 | static int assign_album_year(void) |
1341 | { | 1345 | { |
1346 | char tcs_buf[TAGCACHE_BUFSZ]; | ||
1347 | const long tcs_bufsz = sizeof(tcs_buf); | ||
1342 | draw_progressbar(0, pf_idx.album_ct, "Assigning Album Year"); | 1348 | draw_progressbar(0, pf_idx.album_ct, "Assigning Album Year"); |
1343 | for (int album_idx = 0; album_idx < pf_idx.album_ct; album_idx++) | 1349 | for (int album_idx = 0; album_idx < pf_idx.album_ct; album_idx++) |
1344 | { | 1350 | { |
@@ -1367,7 +1373,7 @@ static int assign_album_year(void) | |||
1367 | rb->tagcache_search_add_filter(&tcs, tag_albumartist, | 1373 | rb->tagcache_search_add_filter(&tcs, tag_albumartist, |
1368 | pf_idx.album_index[album_idx].artist_seek); | 1374 | pf_idx.album_index[album_idx].artist_seek); |
1369 | 1375 | ||
1370 | while (rb->tagcache_get_next(&tcs)) { | 1376 | while (rb->tagcache_get_next(&tcs, tcs_buf, tcs_bufsz)) { |
1371 | int track_year = rb->tagcache_get_numeric(&tcs, tag_year); | 1377 | int track_year = rb->tagcache_get_numeric(&tcs, tag_year); |
1372 | if (track_year > album_year) | 1378 | if (track_year > album_year) |
1373 | album_year = track_year; | 1379 | album_year = track_year; |
@@ -1386,6 +1392,8 @@ static int assign_album_year(void) | |||
1386 | */ | 1392 | */ |
1387 | static int create_album_index(void) | 1393 | static int create_album_index(void) |
1388 | { | 1394 | { |
1395 | static char tcs_buf[TAGCACHE_BUFSZ]; | ||
1396 | const long tcs_bufsz = sizeof(tcs_buf); | ||
1389 | void *buf = pf_idx.buf; | 1397 | void *buf = pf_idx.buf; |
1390 | size_t buf_size = pf_idx.buf_sz; | 1398 | size_t buf_size = pf_idx.buf_sz; |
1391 | 1399 | ||
@@ -1463,7 +1471,7 @@ static int create_album_index(void) | |||
1463 | last = 0; | 1471 | last = 0; |
1464 | final = pf_idx.artist_ct; | 1472 | final = pf_idx.artist_ct; |
1465 | retry = 0; | 1473 | retry = 0; |
1466 | if (rb->tagcache_get_next(&tcs)) | 1474 | if (rb->tagcache_get_next(&tcs, tcs_buf, tcs_bufsz)) |
1467 | { | 1475 | { |
1468 | 1476 | ||
1469 | retry_artist_lookup: | 1477 | retry_artist_lookup: |
@@ -1981,6 +1989,8 @@ static int pf_tcs_retrieve_file_name(int fn_idx) | |||
1981 | */ | 1989 | */ |
1982 | static void create_track_index(const int slide_index) | 1990 | static void create_track_index(const int slide_index) |
1983 | { | 1991 | { |
1992 | char tcs_buf[TAGCACHE_BUFSZ]; | ||
1993 | const long tcs_bufsz = sizeof(tcs_buf); | ||
1984 | buf_ctx_lock(); | 1994 | buf_ctx_lock(); |
1985 | if ( slide_index == pf_tracks.cur_idx ) | 1995 | if ( slide_index == pf_tracks.cur_idx ) |
1986 | return; | 1996 | return; |
@@ -1998,7 +2008,7 @@ static void create_track_index(const int slide_index) | |||
1998 | int string_index = 0; | 2008 | int string_index = 0; |
1999 | pf_tracks.count = 0; | 2009 | pf_tracks.count = 0; |
2000 | 2010 | ||
2001 | while (rb->tagcache_get_next(&tcs)) | 2011 | while (rb->tagcache_get_next(&tcs, tcs_buf, tcs_bufsz)) |
2002 | { | 2012 | { |
2003 | int disc_num = rb->tagcache_get_numeric(&tcs, tag_discnumber); | 2013 | int disc_num = rb->tagcache_get_numeric(&tcs, tag_discnumber); |
2004 | int track_num = rb->tagcache_get_numeric(&tcs, tag_tracknumber); | 2014 | int track_num = rb->tagcache_get_numeric(&tcs, tag_tracknumber); |
@@ -2073,7 +2083,8 @@ static bool get_albumart_for_index_from_db(const int slide_index, char *buf, | |||
2073 | int buflen) | 2083 | int buflen) |
2074 | { | 2084 | { |
2075 | bool ret; | 2085 | bool ret; |
2076 | 2086 | char tcs_buf[TAGCACHE_BUFSZ]; | |
2087 | const long tcs_bufsz = sizeof(tcs_buf); | ||
2077 | if (tcs.valid || !rb->tagcache_search(&tcs, tag_filename)) | 2088 | if (tcs.valid || !rb->tagcache_search(&tcs, tag_filename)) |
2078 | return false; | 2089 | return false; |
2079 | 2090 | ||
@@ -2084,7 +2095,7 @@ static bool get_albumart_for_index_from_db(const int slide_index, char *buf, | |||
2084 | rb->tagcache_search_add_filter(&tcs, tag_albumartist, | 2095 | rb->tagcache_search_add_filter(&tcs, tag_albumartist, |
2085 | pf_idx.album_index[slide_index].artist_seek); | 2096 | pf_idx.album_index[slide_index].artist_seek); |
2086 | 2097 | ||
2087 | ret = rb->tagcache_get_next(&tcs) && | 2098 | ret = rb->tagcache_get_next(&tcs, tcs_buf, tcs_bufsz) && |
2088 | retrieve_id3(&id3, tcs.result) && | 2099 | retrieve_id3(&id3, tcs.result) && |
2089 | search_albumart_files(&id3, ":", buf, buflen); | 2100 | search_albumart_files(&id3, ":", buf, buflen); |
2090 | 2101 | ||