Support header for 2016.
authorGabriel F. T. Gomes <gabriel@gftg.com.br>
Sun, 13 Mar 2016 22:16:47 +0000 (19:16 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Fri, 18 Mar 2016 10:28:22 +0000 (07:28 -0300)
As usual, fields have been added to the file header. Parsing has been
tested, but not transmitting.

decfile.c
decfile.h

index 3aab382..3856c2b 100644 (file)
--- 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
index ca2eb70..b212c40 100644 (file)
--- 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);