diff --git a/data/pattern.txt b/data/pattern.txt new file mode 100644 index 0000000..f9aaec1 --- /dev/null +++ b/data/pattern.txt @@ -0,0 +1 @@ +mamma diff --git a/data/text.txt b/data/text.txt new file mode 100644 index 0000000..affe5cc --- /dev/null +++ b/data/text.txt @@ -0,0 +1 @@ +testo di esempio mamma altra mamma esempio prova mammamma esempio mamma diff --git a/main.c b/main.c index 757ca28..b672ba2 100644 --- a/main.c +++ b/main.c @@ -100,11 +100,8 @@ void find_end(int residue, char *pattern, char *text, int **matches, int *match_ } void initialize() { - text = "testo di esempio mamma altra mamma esempio prova mammamma esempio mamma";//read_file("data/text.txt", &text_len); - pattern = "mamma";//read_file("data/pattern.txt", &pattern_len); - - text_len = strlen(text); - pattern_len = strlen(pattern); + text = read_file("data/text.txt", &text_len); + pattern = read_file("data/pattern.txt", &pattern_len); printf("text: %s\n", text); printf("pattern: %s\n", pattern); diff --git a/util.c b/util.c index 84a7c43..d09bfa6 100644 --- a/util.c +++ b/util.c @@ -37,8 +37,9 @@ char *read_file(char *filepath, int *len) { *len = ftell(f); fseek(f, 0, SEEK_SET); - char *content = (char *) malloc(sizeof(char) * (*len + 1)); + char *content = (char *) malloc(sizeof(char) * (*len)); fread(content, 1, *len, f); + *len = *len - 1; content[*len] = '\0'; fclose(f);