summaryrefslogtreecommitdiffstats
path: root/tools/rsgttlvdump.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/rsgttlvdump.c')
-rw-r--r--tools/rsgttlvdump.c12
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[])
{