diff --git a/src/morse.c b/src/morse.c index 1a390bafc32d0142ea220703093c474377857999..97867214d98d53ab9f3c9fef84acb0aedc12a7b3 100644 --- a/src/morse.c +++ b/src/morse.c @@ -19,7 +19,26 @@ struct node_t * createNode(char letter) return node; } -struct node_t * createTree(char * path){} +struct node_t * createTree(char * path){ + FILE *f = fopen(path, "r"); + char buffer[7]; + if (f != NULL) { + struct node_t* tree = createNode('*'); + while (fgets(buffer, 7, f)) { + buffer[strcspn(buffer, "\r\n")] = 0; + char letter; + char code[6]; + if (strlen(buffer) == 0) { + continue; + } + sscanf(buffer, "%c%[^\n]", &letter, code); + pushTree(tree, letter, code); + } + fclose(f); + return tree; + } + return NULL; +} struct node_t * pushTree(struct node_t * tree, char letter, char * code){}