From 8894d9439bd99b0c722065f754cc47097913296b Mon Sep 17 00:00:00 2001 From: "Gabriel F. T. Gomes" Date: Sun, 13 Mar 2016 19:16:47 -0300 Subject: [PATCH] Support header for 2016. As usual, fields have been added to the file header. Parsing has been tested, but not transmitting. --- decfile.c | 21 ++++++++++++++++++++- decfile.h | 1 + 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/decfile.c b/decfile.c index 3aab382..3856c2b 100644 --- a/decfile.c +++ b/decfile.c @@ -137,7 +137,7 @@ static int decfile_parse_header(struct rnet_decfile *decfile) } /* Check for tested versions. */ - if (exerc > 2015) { + if (exerc > 2016) { fprintf(stderr, "Unknown file version, but proceeding anyway.\n"); return 0; } @@ -263,6 +263,19 @@ static int decfile_parse_header(struct rnet_decfile *decfile) /* End of header in 2015. */ + /* Fields added in 2016. */ + if (exerc >= 2016) { + parse("dedutivelmaior1", 14); + parse("dedutivelmaior2", 14); + parse("dedutivelmaior3", 14); + parse("dedutivelmaior4", 14); + parse("dedutivelmaior5", 14); + parse("dedutivelmaior6", 14); + parse("funprespmaior", 14); + } + + /* End of header in 2016. */ + /* Tail fields, which exist at least since 2013. */ tail = p; parse("versaotestpgd", 3); @@ -308,6 +321,12 @@ static int decfile_parse_header(struct rnet_decfile *decfile) goto out_val; } break; + case 2016: + if (p - buffer != RNET_HEADER_SIZE_2016) { + fprintf(stderr, "RNET_HEADER_SIZE_2016 in decfile.h needs to be adjusted to %ti,\nor parse_header in decfile.c needs updating\n", p - buffer); + goto out_val; + } + break; default: /* This case should never be reached even for later years, because later years should not be parsed diff --git a/decfile.h b/decfile.h index ca2eb70..b212c40 100644 --- a/decfile.h +++ b/decfile.h @@ -27,6 +27,7 @@ #define RNET_HEADER_SIZE_2013 765 #define RNET_HEADER_SIZE_2014 793 #define RNET_HEADER_SIZE_2015 871 +#define RNET_HEADER_SIZE_2016 969 struct rnet_decfile; struct rnet_decfile * rnet_decfile_open(char *filename); -- 2.20.1