diff --git a/A1/id_query.c b/A1/id_query.c index cd103fa..595fc4d 100644 --- a/A1/id_query.c +++ b/A1/id_query.c @@ -33,6 +33,9 @@ int id_query_loop(int argc, char** argv, mk_index_fn mk_index, free_index_fn fre uint64_t runtime_sum = 0; while (getline(&line, &line_len, stdin) != -1) { + if (line[0] == '\n') { + break; + } int64_t needle = atol(line); start = microseconds(); diff --git a/A1/id_query_indexed b/A1/id_query_indexed index 82d7823..ac1c42b 100755 Binary files a/A1/id_query_indexed and b/A1/id_query_indexed differ diff --git a/A1/id_query_indexed.c b/A1/id_query_indexed.c index 9028cd2..3042231 100644 --- a/A1/id_query_indexed.c +++ b/A1/id_query_indexed.c @@ -33,13 +33,7 @@ struct indexed_data* mk_indexed(struct record* rs, int n) { } void free_indexed(struct indexed_data* data) { - struct record* rs = malloc(sizeof(struct record*)); - int n = data->n; - for (int i = 0 ; i < n ; i++) { - struct index_record* irec = &data->irs[i]; - rs[i] = *irec->record; - } - free_records(rs, n); + free(data); } const struct record* lookup_indexed(struct indexed_data *data, int64_t needle) { diff --git a/A1/id_query_naive b/A1/id_query_naive index 9c136e6..196a4e4 100755 Binary files a/A1/id_query_naive and b/A1/id_query_naive differ diff --git a/A1/id_query_naive.c b/A1/id_query_naive.c index cbc6ee7..deca663 100644 --- a/A1/id_query_naive.c +++ b/A1/id_query_naive.c @@ -23,7 +23,7 @@ struct naive_data* mk_naive(struct record* rs, int n) { } void free_naive(struct naive_data* data) { - free_records(data->rs,data->n); + free(data); } const struct record* lookup_naive(struct naive_data *data, int64_t needle) {