summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gr-blocks/lib/file_meta_sink_impl.cc31
-rw-r--r--gr-blocks/lib/file_meta_source_impl.cc22
2 files changed, 29 insertions, 24 deletions
diff --git a/gr-blocks/lib/file_meta_sink_impl.cc b/gr-blocks/lib/file_meta_sink_impl.cc
index 027d12faf2..b6d858489d 100644
--- a/gr-blocks/lib/file_meta_sink_impl.cc
+++ b/gr-blocks/lib/file_meta_sink_impl.cc
@@ -141,17 +141,7 @@ namespace gr {
{
close();
- if(d_fp) {
- fclose(d_fp);
- d_fp = 0;
- }
- if(d_state == STATE_DETACHED) {
- if(d_hdr_fp) {
- fclose(d_hdr_fp);
- d_hdr_fp = 0;
- }
- }
}
bool
@@ -216,6 +206,18 @@ namespace gr {
d_new_fp = 0;
}
d_updated = true;
+
+ if (d_fp) {
+ fclose(d_fp);
+ d_fp = 0;
+ }
+
+ if (d_state == STATE_DETACHED) {
+ if (d_hdr_fp) {
+ fclose(d_hdr_fp);
+ d_hdr_fp = 0;
+ }
+ }
}
void
@@ -298,10 +300,11 @@ namespace gr {
void
file_meta_sink_impl::update_last_header()
{
- if(d_state == STATE_DETACHED)
- update_last_header_detached();
- else
- update_last_header_inline();
+ if(d_state == STATE_DETACHED) {
+ if (d_hdr_fp) update_last_header_detached();
+ } else {
+ if(d_fp) update_last_header_inline();
+ }
}
void
diff --git a/gr-blocks/lib/file_meta_source_impl.cc b/gr-blocks/lib/file_meta_source_impl.cc
index 4cb0ab8ed1..3c72e2a003 100644
--- a/gr-blocks/lib/file_meta_source_impl.cc
+++ b/gr-blocks/lib/file_meta_source_impl.cc
@@ -111,17 +111,7 @@ namespace gr {
{
close();
- if(d_fp) {
- fclose(d_fp);
- d_fp = 0;
- }
- if(d_state == STATE_DETACHED) {
- if(d_hdr_fp) {
- fclose(d_hdr_fp);
- d_hdr_fp = 0;
- }
- }
}
bool
@@ -339,6 +329,18 @@ namespace gr {
d_new_fp = 0;
}
d_updated = true;
+
+ if (d_fp) {
+ fclose(d_fp);
+ d_fp = 0;
+ }
+
+ if (d_state == STATE_DETACHED) {
+ if (d_hdr_fp) {
+ fclose(d_hdr_fp);
+ d_hdr_fp = 0;
+ }
+ }
}
void