From 4dbba1feee2c5d146205b63178ef36f4c0df5e75 Mon Sep 17 00:00:00 2001 From: _N3m0 Date: Sat, 30 Dec 2023 21:13:14 +0100 Subject: [PATCH] get page done --- main.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/main.c b/main.c index 7e830a9..600a21c 100644 --- a/main.c +++ b/main.c @@ -8,6 +8,7 @@ #define DEFAULT_PAGE_LEN 16 int pageChunkLen = DEFAULT_PAGE_LEN; +int nbchunck = 0; char** pageChunk; typedef struct UserConfig { @@ -36,24 +37,23 @@ void getUserConfig(int argc, char* argv[]){ size_t save_chunk(char* buffer, size_t itemsize, size_t nitems, void* ignore){ size_t bytes = itemsize * nitems; - static int nbchuck = 0; - if (nbchuck >= pageChunkLen){ + if (nbchunck >= pageChunkLen){ pageChunkLen *= 1.5; pageChunk = realloc(pageChunk, sizeof(*pageChunk) * pageChunkLen); - printf("len = %d\n", pageChunkLen); - if (pageChunk == NULL){ perror("ERROR: Buy more ram.\n"); exit(1); } + + memset(&pageChunk[nbchunck], 0, pageChunkLen - nbchunck); } - pageChunk[nbchuck] = malloc(bytes); - pageChunk[nbchuck][bytes] = '\0'; - strncpy(pageChunk[nbchuck], buffer, bytes); - nbchuck++; + pageChunk[nbchunck] = malloc(bytes); + pageChunk[nbchunck][bytes] = '\0'; + strncpy(pageChunk[nbchunck], buffer, bytes); + nbchunck++; return bytes; } @@ -77,8 +77,9 @@ void getPage(void){ } void printPage(void){ - for (int i=0; i