From 9ddbcfb5a63d2fb7105ab6fb2e7422858ba1615c Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Sun, 31 May 2015 18:40:52 -0400 Subject: add quicksave option --- src/save.c | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) (limited to 'src/save.c') diff --git a/src/save.c b/src/save.c index 386c666..fdc366a 100644 --- a/src/save.c +++ b/src/save.c @@ -63,21 +63,11 @@ size_t ck_write(const char *buf, size_t sz, size_t nmemb, FILE *f) return nmemb; } -void save_handler(struct player_t *player) +void save_portfolio(struct player_t *player, const char *filename) { - if(restricted) - { - output("Saving forbidden in restricted mode.\n"); - return; - } - output("Enter the file to save your portfolio in: "); - - char *filename = read_string(); - output("Writing data...\n"); - FILE *f = fopen(filename, "wb"); - free(filename); + FILE *f = fopen(filename, "wb"); cksum = 0; @@ -120,5 +110,24 @@ void save_handler(struct player_t *player) fclose(f); + if(player->filename && player->filename != filename) + free(player->filename); + + player->filename = (char*)filename; + output("Done saving.\n"); } + +void save_handler(struct player_t *player) +{ + if(restricted) + { + output("Saving forbidden in restricted mode.\n"); + return; + } + output("Enter the file to save your portfolio in: "); + + char *filename = read_string(); + + save_portfolio(player, filename); +} -- cgit v1.1