summaryrefslogtreecommitdiff
path: root/gr-blocks/lib/file_meta_sink_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gr-blocks/lib/file_meta_sink_impl.cc')
-rw-r--r--gr-blocks/lib/file_meta_sink_impl.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/gr-blocks/lib/file_meta_sink_impl.cc b/gr-blocks/lib/file_meta_sink_impl.cc
index ff7416aeed..3af51405b2 100644
--- a/gr-blocks/lib/file_meta_sink_impl.cc
+++ b/gr-blocks/lib/file_meta_sink_impl.cc
@@ -299,9 +299,13 @@ void file_meta_sink_impl::update_last_header_inline()
pmt::pmt_t s = pmt::from_uint64(seg_size);
update_header(mp("bytes"), s);
update_header(mp("strt"), pmt::from_uint64(METADATA_HEADER_SIZE + d_extra_size));
- fseek(d_fp, -seg_size - hdrlen, SEEK_CUR);
+ if (fseek(d_fp, -seg_size - hdrlen, SEEK_CUR) == -1) {
+ throw std::runtime_error("fseek() failed.");
+ }
write_header(d_fp, d_header, d_extra);
- fseek(d_fp, seg_size, SEEK_CUR);
+ if (fseek(d_fp, seg_size, SEEK_CUR) == -1) {
+ throw std::runtime_error("fseek() failed.");
+ }
}
void file_meta_sink_impl::update_last_header_detached()
@@ -313,7 +317,9 @@ void file_meta_sink_impl::update_last_header_detached()
pmt::pmt_t s = pmt::from_uint64(seg_size);
update_header(mp("bytes"), s);
update_header(mp("strt"), pmt::from_uint64(METADATA_HEADER_SIZE + d_extra_size));
- fseek(d_hdr_fp, -hdrlen, SEEK_CUR);
+ if (fseek(d_hdr_fp, -hdrlen, SEEK_CUR) == -1) {
+ throw std::runtime_error("fseek() failed.");
+ }
write_header(d_hdr_fp, d_header, d_extra);
}