diff --git a/lab_2/main_dynamic.c b/lab_2/main_dynamic.c index cc2d435..d317904 100644 --- a/lab_2/main_dynamic.c +++ b/lab_2/main_dynamic.c @@ -26,20 +26,19 @@ int main(int argc, char *argv[]) { int total = 0; char line[MAX_LINE]; - while (fgets(line, sizeof(line), fin) && cap > 0) { + while (fgets(line, sizeof(line), fin)) { if (line[0] == '\0' || line[0] == '\n') { fputs(line, fout); continue; } int key = (unsigned char)line[0]; - int repl_line = replace(line + 1, key, &cap); - total += repl_line; + if (cap > 0) { + int repl_line = replace(line, key, &cap); + total += repl_line; + } fputc(line[0], fout); fputs(line + 1, fout); } - while (fgets(line, sizeof(line), fin)) { - fputs(line, fout); - } fclose(fin); fclose(fout); dlclose(lib); printf("total_replacements: %d\n", total); diff --git a/lab_2/main_static.c b/lab_2/main_static.c index c2b645c..8a6df8e 100644 --- a/lab_2/main_static.c +++ b/lab_2/main_static.c @@ -19,20 +19,19 @@ int main(int argc, char *argv[]) { int total = 0; char line[MAX_LINE]; - while (fgets(line, sizeof(line), fin) && cap > 0) { + while (fgets(line, sizeof(line), fin)) { if (line[0] == '\0' || line[0] == '\n') { fputs(line, fout); continue; } int key = (unsigned char)line[0]; - int repl_line = replace_char_line(line + 1, key, &cap); - total += repl_line; + if (cap > 0) { + int repl_line = replace_char_line(line, key, &cap); + total += repl_line; + } fputc(line[0], fout); fputs(line + 1, fout); } - while (fgets(line, sizeof(line), fin)) { - fputs(line, fout); - } fclose(fin); fclose(fout); printf("total_replacements: %d\n", total); return 0;