From 5cc60817ff7f496dec9820e089ab25a115021513 Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Thu, 21 May 2015 21:57:58 -0400 Subject: add more redundancy --- src/save.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src/save.c') diff --git a/src/save.c b/src/save.c index 48dd069..debe610 100644 --- a/src/save.c +++ b/src/save.c @@ -53,6 +53,16 @@ static bool write_int8(FILE *f, uint8_t n) return true; } +size_t ck_write(const char *buf, size_t sz, size_t nmemb, FILE *f) +{ + for(size_t i = 0 ; i < sz * nmemb; ++i) + { + write_int8(f, buf[i]); + } + + return nmemb; +} + void save_handler(struct player_t *player) { printf("Enter the file to save your portfolio in: "); @@ -67,7 +77,7 @@ void save_handler(struct player_t *player) cksum = 0; const char *magic = "PORTv2"; - fwrite(magic, strlen(magic), 1, f); + ck_write(magic, strlen(magic), 1, f); write_be64(f, player->cash.cents); @@ -77,7 +87,7 @@ void save_handler(struct player_t *player) write_be64(f, strlen(stock->symbol)); - fwrite(stock->symbol, strlen(stock->symbol) + 1, 1, f); + ck_write(stock->symbol, strlen(stock->symbol) + 1, 1, f); write_be64(f, stock->count); -- cgit v1.1