Use macros for the header size.
[cascardo/libreceita.git] / decfile.c
index bfaf1ee..33062d3 100644 (file)
--- a/decfile.c
+++ b/decfile.c
@@ -83,9 +83,9 @@ static int decfile_parse_header(struct rnet_decfile *decfile)
        if (!buffer)
                return -EINVAL;
        switch (strlen(buffer)) {
-       case 765:
+       case RNET_HEADER_SIZE_2013:
                return parse_header_2013(decfile->header, buffer);
-       case 793:
+       case RNET_HEADER_SIZE_2014:
                return parse_header_2014(decfile->header, buffer);
        default:
                return -EINVAL;
@@ -430,13 +430,15 @@ static int append_stripped_reg_ctrl(struct rnet_message **message, char *line)
 {
        size_t len;
        struct rnet_message *msg = *message;
+       int growth;
        if (!decfile_reg_is_dec(line))
                return 0;
        len = strlen(line);
        if (len < 12)
                return -EINVAL;
-       if (msg->alen - msg->len < len) {
-               if (rnet_message_expand(message, MAX(msg->len, len)))
+       growth = msg->len + len - 10 - msg->alen;
+       if (growth > 0) {
+               if (rnet_message_expand(message, growth))
                        return -ENOMEM;
                msg = *message;
        }