diff --git a/Final /input.txt b/Final /input.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8ba8ce542ecc71a16fb9946e6f4638fb7c010a71
--- /dev/null
+++ b/Final /input.txt
@@ -0,0 +1,13 @@
+18446744073709551614
+1
+2
+0
+1033268
+361034
+916343
+739080
+975089
+82667
+670049
+640632
+950453
diff --git a/Final /main.c b/Final /main.c
index b49038cba600e5ed33adc0ad5c141859d8a09675..aacb03c18d5e89d40b59c60159ed5bc7537891c9 100644
--- a/Final /main.c
+++ b/Final /main.c
@@ -4,10 +4,13 @@
#include <pthread.h>
#include "utils.h"
#include "utils.c"
+#include "buffer.c"
+#include "buffer.h"
#include <unistd.h>
#include <getopt.h>
#include <time.h>
-
+#include <stdint.h>
+#include <inttypes.h>
#define size 1000
#define capacity 5
diff --git a/Final /output.txt b/Final /output.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5b85602b3616db25670fa429c97407823d299cfe
--- /dev/null
+++ b/Final /output.txt
@@ -0,0 +1,12 @@
+1 la valeur doit etre plus grande ou egale a 2
+2 2
+1033268 2 258317
+361034 2 97 1861
+18446744073709551614 2 7 73 127 337 92737 649657
+916343 23 39841
+739080 2 3 5 2053
+975089
+82667 13 6359
+670049
+640632 2 3 26693
+950453 7 17 163
diff --git a/Final /utils.c b/Final /utils.c
index ed026cbf74e8946ffb3ace2154611b8b70e05a22..d4cbc00396abbd7fdb300546621b2f92267748bf 100644
--- a/Final /utils.c
+++ b/Final /utils.c
@@ -3,7 +3,8 @@
#include <stdio.h>
#include <pthread.h>
#include "utils.h"
-
+#include <stdint.h>
+#include <inttypes.h>
/* Pré : Prend la référence FILE* du fichier input
* Post : /
* Fonction appellée par le thread de lecture du fichier input
@@ -12,8 +13,8 @@
void* ftobuf(FILE* input, buffer_t* firstBuffer, int capacity) {
- unsigned long long tmp = 0;
- while (fscanf(input,"%llu", &tmp) == 1){
+ uint64_t tmp = 0;
+ while (fscanf(input,"%"PRIu64, &tmp) == 1){
Producer(firstBuffer, (void*) tmp);
}
for(int i = 0; i < capacity; i++) {
@@ -41,7 +42,9 @@ void *prime(buffer_t *in, buffer_t *out, int size) {
if(value == 0) break;
sprintf(str, "%"PRIu64, value);
uint64_t oldVal = value;
-
+ if (value < 2){
+ strcat(str, " la valeur doit etre plus grande ou egale a 2");
+ }
if (value % 2 == 0) {
strcat(str, " ");
sprintf(tmp, "%d", 2);