aboutsummaryrefslogtreecommitdiff
path: root/src/load.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/load.c')
-rw-r--r--src/load.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/load.c b/src/load.c
index c2e5b3d..fcb2147 100644
--- a/src/load.c
+++ b/src/load.c
@@ -36,11 +36,8 @@ uint8_t read_int8(FILE *f)
return n;
}
-void load_handler(struct player_t *player)
+void load_portfolio(struct player_t *player, const char *filename)
{
- printf("Enter the file to load portfolio from: ");
- char *filename = read_string();
-
printf("Loading portfolio...\n");
if(player->need_to_free_portfolio)
@@ -50,7 +47,6 @@ void load_handler(struct player_t *player)
player->portfolio = NULL;
FILE *f = fopen(filename, "rb");
- free(filename);
char magic[6];
if(!f || fread(magic, 1, sizeof(magic), f) != 6 || memcmp(magic, "PORTv2", sizeof(magic)) != 0)
@@ -123,3 +119,13 @@ void load_handler(struct player_t *player)
update_handler(player);
}
+
+void load_handler(struct player_t *player)
+{
+ printf("Enter the file to load portfolio from: ");
+ char *filename = read_string();
+
+ load_portfolio(player, filename);
+
+ free(filename);
+}