diff --git a/dataio.c b/dataio.c index 4dd42f8..ff28cf4 100644 --- a/dataio.c +++ b/dataio.c @@ -18,20 +18,23 @@ int modify_credit(name, price) person_data = fopen(filename, "r"); if (person_data == NULL) { - printf("Warning: Filename %s does not exist! Creating...\n", filename); + printf("Warning: Filename %s does not exist!\n", filename); credit = 0; } else { fscanf(person_data, "%i", &credit); fclose(person_data); } - credit += price; - person_data = fopen(filename, "w"); - if (person_data == NULL) { - printf("ERROR: Filename %s could not be created or overwritten!\nCheck system integrity!\n", filename); - } else { - fprintf(person_data, "%i", credit); - fclose(person_data); + // Write only if the price would change credit + if (price != 0) { + credit += price; + person_data = fopen(filename, "w"); + if (person_data == NULL) { + printf("ERROR: Filename %s could not be created or overwritten!\nCheck system integrity!\n", filename); + } else { + fprintf(person_data, "%i", credit); + fclose(person_data); + } } return credit;