- ret = para_fseek(file, -125, SEEK_END);
- if (ret < 0)
- return ret;
- if (para_fread(mp3.id3.title, 1, 30, file) != 30)
- return -E_FREAD;
- mp3.id3.title[30] = '\0';
- if (para_fread(mp3.id3.artist, 1, 30, file) != 30)
- return -E_FREAD;
- mp3.id3.artist[30] = '\0';
- if (para_fread(mp3.id3.album, 1, 30, file) != 30)
- return -E_FREAD;
- mp3.id3.album[30] = '\0';
- if (para_fread(mp3.id3.year, 1, 4, file) != 4)
- return -E_FREAD;
- mp3.id3.year[4] = '\0';
- if (para_fread(mp3.id3.comment, 1, 30, file) != 30)
- return -E_FREAD;
- mp3.id3.comment[30] = '\0';
- mp3.id3_isvalid = 1;
- unpad(mp3.id3.title);
- unpad(mp3.id3.artist);
- unpad(mp3.id3.album);
- unpad(mp3.id3.year);
- unpad(mp3.id3.comment);
- return 1;
+ fpos = numbytes - 125;
+ memcpy(title, map + fpos, 30);
+ fpos += 30;
+ title[30] = '\0';
+ memcpy(artist, map + fpos, 30);
+ fpos += 30;
+ artist[30] = '\0';
+ memcpy(album, map + fpos, 30);
+ fpos += 30;
+ album[30] = '\0';
+ memcpy(year, map + fpos, 4);
+ fpos += 4;
+ year[4] = '\0';
+ memcpy(comment, map + fpos, 30);
+ comment[30] = '\0';
+ unpad(title);
+ unpad(artist);
+ unpad(album);
+ unpad(year);
+ unpad(comment);
+ return make_message("%s: %s, by %s\n" /* taginfo1 */
+ "%s: A: %s, Y: %s, C: %s\n", /* taginfo 2*/
+ status_item_list[SI_TAGINFO1],
+ *title? title : "(title tag not set)",
+ *artist? artist : "(artist tag not set)",
+ status_item_list[SI_TAGINFO2],
+ *album? album : "(album tag not set)",
+ *year? year : "????",
+ *comment? comment : "(comment tag not set)"
+ );