diff options
author | rafa_99 <rafa99@protonmail.com> | 2020-11-22 14:23:05 +0000 |
---|---|---|
committer | rafa_99 <rafa99@protonmail.com> | 2020-11-22 14:23:05 +0000 |
commit | 7b644262f9ef0b5e5d5f5463b9cf96b78b67bfed (patch) | |
tree | c809ded185e51b46663c80d421d620738cc638cf | |
parent | 596b63a8700e2953ce81b65f46a5b3015d45d904 (diff) |
Fixed Problem With Line Size
-rw-r--r-- | ouija.c | 23 | ||||
-rw-r--r-- | utils.c | 16 | ||||
-rw-r--r-- | utils.h | 2 |
3 files changed, 21 insertions, 20 deletions
@@ -6,19 +6,20 @@ int main(int argc, char **argv) { FILE *dictionary = NULL; + switch (argc) { - case 1: - if (checkIfFileExists("dictionary.dict") == 0) - { - dictionary = fopen("dictionary.dict", "r"); - } - break; - case 2: - if (checkIfFileExists(argv[1]) == 1) - { - dictionary = fopen(argv[1], "r"); - } + case 1: + if (checkIfFileExists("dictionary.dict") == 0) + { + dictionary = fopen("dictionary.dict", "r"); + } + break; + case 2: + if (checkIfFileExists(argv[1]) == 1) + { + dictionary = fopen(argv[1], "r"); + } } if (dictionary != NULL) @@ -14,27 +14,25 @@ int lineCounter(FILE *dictionary) int words = 0; if ( dictionary != NULL ) { - char line[256]; - while ( !feof(dictionary) ) + char line[MAX_LINE]; + for( words; (!feof(dictionary)); words++ ) { - fgets(line, sizeof(line), dictionary); - words++; + fgets(line, MAX_LINE, dictionary); } - words--; rewind(dictionary); + words--; } - return words; } char* getLine(FILE *dictionary, int lineNumber) { - char *line = (char *) calloc(256, sizeof(char)); + char *line = (char *) calloc(MAX_LINE, sizeof(char)); if ( dictionary != NULL ) { - for ( int i = 0; (!feof(dictionary) && i != lineNumber - 1); i++) + for ( int i = 0; (!feof(dictionary) && i != lineNumber ); i++) { - fgets(line, sizeof(line), dictionary); + fgets(line, MAX_LINE, dictionary); } rewind(dictionary); } @@ -1,5 +1,7 @@ #include <stdio.h> +#define MAX_LINE 256 + int checkIfFileExists(char *path); int lineCounter(FILE *dictionary); char* getLine(FILE *dictionary, int line); |