From aef46f821b500a0f8b9eba574dd29af1efbcb7a3 Mon Sep 17 00:00:00 2001
From: sdemeesterde <samuel.demeester@student.uclouvain.be>
Date: Sun, 6 Mar 2022 15:42:42 +0100
Subject: [PATCH] it compiles

---
 Makefile               |  4 ++--
 src/packet_interface.c | 14 +++++++++-----
 2 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/Makefile b/Makefile
index 601b3c7..b426e7e 100644
--- a/Makefile
+++ b/Makefile
@@ -7,8 +7,8 @@ HEADERS_DIR = -Iheaders
 LDFLAGS = -lz
 
 # Adapt these as you want to fit with your project
-SENDER_SOURCES = $(wildcard src/sender.c src/log.c)
-RECEIVER_SOURCES = $(wildcard src/receiver.c src/log.c)
+SENDER_SOURCES = $(wildcard src/sender.c src/log.c src/packet_interface.c)
+RECEIVER_SOURCES = $(wildcard src/receiver.c src/log.c src/packet_interface.c)
 
 SENDER_OBJECTS = $(SENDER_SOURCES:.c=.o)
 RECEIVER_OBJECTS = $(RECEIVER_SOURCES:.c=.o)
diff --git a/src/packet_interface.c b/src/packet_interface.c
index 838aa22..229fc81 100644
--- a/src/packet_interface.c
+++ b/src/packet_interface.c
@@ -51,14 +51,14 @@ void pkt_del(pkt_t *pkt)
  * @param len       : The number of bytes of the buffer.
  * @return uint32_t 
  */
-uint32_t calculate_crc(char * buffer, uint32_t len)
+uint32_t calculate_crc(const char * buffer, uint32_t len)
 {
     return (uint32_t) crc32(0, (const void *) buffer, len);
 }
 
 pkt_status_code pkt_decode_data_fec(const char *data, const size_t len, pkt_t *pkt)
 {
-    
+    return pkt_set_payload(pkt, data, len); // TRASH
 }
 
 pkt_status_code pkt_decode_ack_nack(const char *data, const size_t len, pkt_t *pkt)
@@ -84,8 +84,12 @@ pkt_status_code pkt_decode_ack_nack(const char *data, const size_t len, pkt_t *p
     // CheckSum no need to set TR at 0 as it should be at 0
     char crc[4];
     memcpy(crc, data+4, 4);
-    if (calculate_crc(data, 4) != ntohl((uint32_t) crc))
+    if (calculate_crc(data, 4) != ntohl(*((uint32_t *) crc)))
         return E_CRC;    
+
+    if (predict_header_length(pkt) > 1) return PKT_OK; // TRASH !!
+
+    return PKT_OK;
 }
 
 pkt_status_code pkt_decode(const char *data, const size_t len, pkt_t *pkt)
@@ -99,7 +103,7 @@ pkt_status_code pkt_decode(const char *data, const size_t len, pkt_t *pkt)
 
 pkt_status_code pkt_encode(const pkt_t* pkt, char *buf, size_t *len)
 {
-    /* Your code will be inserted here */
+    return pkt_set_payload((pkt_t *) pkt, buf, *len); // TRASH
 }
 
 /** GETTER */
@@ -145,7 +149,7 @@ uint32_t pkt_get_crc2(const pkt_t* pkt)
 
 const char* pkt_get_payload(const pkt_t* pkt)
 {
-    return pkt->payload;
+    return (const char *) pkt->payload;
 }
 
 
-- 
GitLab