X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=futatabi%2Fmain.cpp;fp=futatabi%2Fmain.cpp;h=33a486a56440eb9ca93f62e61a51a3fdc55fa135;hb=0921ffc0fba2e74ecbfa00d899f3a6be892b1b33;hp=69ef55bedc33b89f2f85ad156e13e3b3708412c7;hpb=4a2b75458cf7e5c341d12b476fe9f806c3f1e73c;p=nageru diff --git a/futatabi/main.cpp b/futatabi/main.cpp index 69ef55b..33a486a 100644 --- a/futatabi/main.cpp +++ b/futatabi/main.cpp @@ -344,6 +344,10 @@ void load_frame_file(const char *filename, const string &basename, unsigned file FrameOnDisk frame; frame.pts = hdr.pts(); frame.offset = ftell(fp); + if (frame.offset == -1) { + fprintf(stderr, "WARNING: %s: ftell() failed (%s).\n", filename, strerror(errno)); + break; + } frame.filename_idx = filename_idx; frame.size = hdr.file_size(); @@ -364,7 +368,11 @@ void load_frame_file(const char *filename, const string &basename, unsigned file filename, skipped_bytes); } - size_t size = ftell(fp); + off_t size = ftell(fp); + if (size == -1) { + fprintf(stderr, "WARNING: %s: ftell() failed (%s).\n", filename, strerror(errno)); + return; + } fclose(fp); db->store_frame_file(basename, size, all_frames);