/* returns length of a file (if filept points to a file) reads the last 128 bytes information into buffer ... that is not totally safe...  */
static off_t get_fileinfo(mpg123_handle *)
/* returns length of a file (if filept points to a file) reads the last 128 bytes information into buffer ... that is not totally safe...  */
static off_t get_fileinfo(mpg123_handle *)
{
	off_t len;
	if((len=io_seek(&fr->rdat,0,SEEK_END)) < 0)	return -1;
	if(io_seek(&fr->rdat,-128,SEEK_END) < 0) return -1;
	if(fr->rd->fullread(fr,(unsigned char *)fr->id3buf,128) != 128)	return -1;
	if(!strncmp((char*)fr->id3buf,"TAG",3))	len -= 128;
	if(io_seek(&fr->rdat,0,SEEK_SET) < 0)	return -1;
	if(len <= 0)	return -1;
	return len;
}