diff options
| author | Franklin Wei <git@fwei.tk> | 2015-05-24 13:59:59 -0400 |
|---|---|---|
| committer | Franklin Wei <git@fwei.tk> | 2015-05-24 13:59:59 -0400 |
| commit | 619550ed4aa3e242334153dcc2f003209fff986d (patch) | |
| tree | 8b53236b2697eeb42c2a64ab2facd9121b02cf76 /src | |
| parent | 65420c45267df9289990cb3befa078753160ab1b (diff) | |
| download | market-sim-619550ed4aa3e242334153dcc2f003209fff986d.zip market-sim-619550ed4aa3e242334153dcc2f003209fff986d.tar.gz market-sim-619550ed4aa3e242334153dcc2f003209fff986d.tar.bz2 market-sim-619550ed4aa3e242334153dcc2f003209fff986d.tar.xz | |
some error messages
Diffstat (limited to 'src')
| -rw-r--r-- | src/globals.h | 1 | ||||
| -rw-r--r-- | src/load.c | 9 | ||||
| -rw-r--r-- | src/util.c | 8 |
3 files changed, 14 insertions, 4 deletions
diff --git a/src/globals.h b/src/globals.h index b9d6e0c..0dbd723 100644 --- a/src/globals.h +++ b/src/globals.h @@ -3,6 +3,7 @@ #include <assert.h> #include <ctype.h> +#include <errno.h> #include <signal.h> #include <stdbool.h> #include <stdint.h> @@ -95,9 +95,14 @@ void load_portfolio(struct player_t *player, const char *filename) FILE *f = fopen(filename, "rb"); char magic[MAGIC_LEN]; - if(!f || ck_read(magic, 1, sizeof(magic), f) != 6 || memcmp(magic, SAVE_MAGIC, sizeof(magic)) != 0) + if(!f) { - fail("Failed to load save."); + fail("Failed to load save: %s", strerror(errno)); + } + + if(ck_read(magic, 1, sizeof(magic), f) != 6 || memcmp(magic, SAVE_MAGIC, sizeof(magic)) != 0) + { + fail("Failed to load save: Invalid file signature"); } player->cash.cents = read_be64(f); @@ -75,8 +75,7 @@ bool get_stock_info(char *symbol, struct money_t *price, char **name_ret) if(res != CURLE_OK || buf.data[0] != '"') { - output("Failed querying information for '%s'.\n", symbol); - return false; + fail("Failed to query information for '%s'.\n", symbol); } /* null-terminate buffer */ @@ -329,6 +328,11 @@ uint parse_args(int argc, char *argv[], char **port_file) { break; } + else + { + output("Unrecognized option '%s'\nTry %s --help for more information.\n", arg, argv[0]); + ret |= ARG_FAILURE; + } } else { |