From 63c107f7cba512c4112681a14eb57ed4bbe45586 Mon Sep 17 00:00:00 2001 From: germanFid Date: Mon, 24 Oct 2022 10:42:00 +0300 Subject: [PATCH] Removed getline (gosha gtfo!) --- Varya_Struct_02/config.h | 1 + Varya_Struct_02/tmp_main.c | 11 ++++------- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/Varya_Struct_02/config.h b/Varya_Struct_02/config.h index 1b57b5f..458182a 100644 --- a/Varya_Struct_02/config.h +++ b/Varya_Struct_02/config.h @@ -22,6 +22,7 @@ #define FALSE 0 // file +#define MAX_STRING_SIZE 1000 #define FILE_OPENING_ERROR "Cannot open the %s file.\n" /// diff --git a/Varya_Struct_02/tmp_main.c b/Varya_Struct_02/tmp_main.c index 8e9439e..1426f55 100644 --- a/Varya_Struct_02/tmp_main.c +++ b/Varya_Struct_02/tmp_main.c @@ -3,11 +3,11 @@ int main(int argc, char **argv) { FILE *IFile = NULL; - char *ILine = NULL; + char ILine[MAX_STRING_SIZE + 1]; int16_t len = 0; int32_t read; - char WRead[300]; + char WRead[MAX_STRING_SIZE]; if (argc > 1) { @@ -27,18 +27,15 @@ int main(int argc, char **argv) printf("Wrong Arguments!\nUsage ./Lab.exe -f \n"); exit(WRONG_ARGUMENT_FAILURE); } - - while ((read = getline(&ILine, &len, IFile)) != -1) + + while ((read = fgets(&ILine, MAX_STRING_SIZE, IFile)) != NULL) { - // printf("Retrieved line of length %zu:\n", read); printf("%s", ILine); parceLine(ILine); } printDataBase(); fclose(IFile); - if (ILine) - free(ILine); exit(EXIT_SUCCESS); // Comment if you want continious reading after parsing file } // if (argc > 1) -- correct