diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/rsgttlvdump.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/tools/rsgttlvdump.c b/tools/rsgttlvdump.c index af5b1a03..256a85b5 100644 --- a/tools/rsgttlvdump.c +++ b/tools/rsgttlvdump.c @@ -52,8 +52,15 @@ processFile(char *name) } if(rsgt_tlvrdHeader(fp, hdr) != 0) goto err; printf("File Header: '%s'\n", hdr); - if(rsgt_tlvrd(fp, &tlvtype, &tlvlen, &obj) != 0) goto err; - rsgt_tlvprint(stdout, tlvtype, obj, 0); + while(1) { /* we will err out on EOF */ + if(rsgt_tlvrd(fp, &tlvtype, &tlvlen, &obj) != 0) { + if(feof(fp)) + break; + else + goto err; + } + rsgt_tlvprint(stdout, tlvtype, obj, 0); + } if(fp != stdin) fclose(fp); @@ -61,7 +68,6 @@ processFile(char *name) err: fprintf(stderr, "error processing file %s\n", name); } - int main(int argc, char *argv[]) { |