From a72819e861caaabdea0ac41f5f5e387cb61d3513 Mon Sep 17 00:00:00 2001 From: Tom Rondeau Date: Tue, 9 Nov 2010 22:45:02 -0500 Subject: [PATCH] Adding file operations result checking. --- gr-trellis/src/lib/fsm.cc | 20 +++++++++++++++++--- gr-trellis/src/lib/interleaver.cc | 13 +++++++++++-- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/gr-trellis/src/lib/fsm.cc b/gr-trellis/src/lib/fsm.cc index c65b1345..5950b56b 100644 --- a/gr-trellis/src/lib/fsm.cc +++ b/gr-trellis/src/lib/fsm.cc @@ -86,16 +86,30 @@ fsm::fsm(const char *name) if((fsmfile=fopen(name,"r"))==NULL) throw std::runtime_error ("fsm::fsm(const char *name): file open error\n"); //printf("file open error in fsm()\n"); + + if(fscanf(fsmfile,"%d %d %d\n",&d_I,&d_S,&d_O) == EOF) { + if(ferror(fsmfile) != 0) + throw std::runtime_error ("fsm::fsm(const char *name): file read error\n"); + } - fscanf(fsmfile,"%d %d %d\n",&d_I,&d_S,&d_O); d_NS.resize(d_I*d_S); d_OS.resize(d_I*d_S); for(int i=0;i