- FILE *fd = fopen(path, "r");
- if(fd)
- {
- char *data = temp_keyframe.get_data();
- int data_size = fread(data, 1, MESSAGESIZE-1, fd);
+ FILE *fp = fopen(path, "r");
+ if( fp ) {
+ struct stat st; int fd = fileno(fp);
+ int64_t sz = !fstat(fd, &st) ? st.st_size : BCTEXTLEN;
+ char *data = temp_keyframe.get_data(sz+1);
+ int data_size = fread(data, 1, sz, fp);