diff options
-rw-r--r-- | src/remembering.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/remembering.c b/src/remembering.c index d82f73e..5b1cf03 100644 --- a/src/remembering.c +++ b/src/remembering.c @@ -539,16 +539,16 @@ int merge_stdin_with_profile(char *profile_name, struct Rankings *s_rankings, int stop = get_stdin(&s_params, &p_params, p_rankings) || get_profile(&s_params, &p_params, s_rankings, p_rankings); while (!stop) { - struct Tuple t; - parse_ranked_line(p_params.line, &t); - int cmp = strcmp(s_params.line, t.first); + char *value; + int rank; + parse_ranked_line(stderr, p_params.line, &value, &rank); + int cmp = strcmp(s_params.line, value); if (cmp == 0) { - rankings_insert(s_rankings, t.first, t.second); - rankings_insert(p_rankings, t.first, t.second); + rankings_insert(s_rankings, value, rank); + rankings_insert(p_rankings, value, rank); // double free stop = get_stdin(&s_params, &p_params, p_rankings) || get_profile(&s_params, &p_params, s_rankings, p_rankings); - tuple_free(&t); continue; } @@ -575,6 +575,10 @@ int merge_stdin_with_profile(char *profile_name, struct Rankings *s_rankings, free(s_params.line); free(p_params.line); fclose(profile); + + if (stop == -1) { + return stop; + } return 0; } */ |