diff options
| author | J08nY | 2017-05-29 15:11:38 +0200 |
|---|---|---|
| committer | J08nY | 2017-05-29 15:11:38 +0200 |
| commit | ba8c1f2bc424205cbb167b3c65ce184912c6173a (patch) | |
| tree | db21c80b3e7ed411ddbdc4151f82b875b83f279e /src/io | |
| parent | 03eedf3f3e69093af6fd2717bbad04ffdfc7c25a (diff) | |
| download | ecgen-ba8c1f2bc424205cbb167b3c65ce184912c6173a.tar.gz ecgen-ba8c1f2bc424205cbb167b3c65ce184912c6173a.tar.zst ecgen-ba8c1f2bc424205cbb167b3c65ce184912c6173a.zip | |
Diffstat (limited to 'src/io')
| -rw-r--r-- | src/io/cli.h | 14 | ||||
| -rw-r--r-- | src/io/input.c | 19 | ||||
| -rw-r--r-- | src/io/input.h | 23 | ||||
| -rw-r--r-- | src/io/output.c | 3 | ||||
| -rw-r--r-- | src/io/output.h | 3 |
5 files changed, 25 insertions, 37 deletions
diff --git a/src/io/cli.h b/src/io/cli.h index 3ae314e..6e0ab99 100644 --- a/src/io/cli.h +++ b/src/io/cli.h @@ -16,8 +16,22 @@ extern char cli_doc[]; extern char cli_args_doc[]; extern struct argp_option cli_options[]; +/** + * @brief + * @param key + * @param arg + * @param state + * @return + */ error_t cli_parse(int key, char *arg, struct argp_state *state); +/** + * @brief + * @param key + * @param text + * @param input + * @return + */ char *cli_filter(int key, const char *text, void *input); #endif // ECGEN_CLI_H diff --git a/src/io/input.c b/src/io/input.c index 2b18a53..726b710 100644 --- a/src/io/input.c +++ b/src/io/input.c @@ -94,32 +94,19 @@ GEN input_string(const char *prompt) { return result; } -GEN input_param(param_t param, const char *prompt, unsigned long bits) { - switch (param) { - case PARAM_PRIME: - return input_prime(prompt, bits); - case PARAM_INT: - return input_int(prompt, bits); - case PARAM_SHORT: - return input_short(prompt); - case PARAM_STRING: - return input_string(prompt); - } - return gen_m1; -} - -void input_init(const config_t *cfg) { +bool input_init(const config_t *cfg) { if (cfg->input) { in = fopen(cfg->input, "r"); delim = ','; if (!in) { perror("Failed to open input file."); - exit(1); + return false; } } else { in = stdin; delim = '\n'; } + return true; } void input_quit(void) { diff --git a/src/io/input.h b/src/io/input.h index 579af3c..fa69503 100644 --- a/src/io/input.h +++ b/src/io/input.h @@ -11,13 +11,6 @@ #include "math/random.h" #include "math/types.h" -typedef enum PARAM { - PARAM_PRIME, - PARAM_INT, - PARAM_SHORT, - PARAM_STRING -} param_t; - /** * * @param prompt @@ -50,26 +43,18 @@ GEN input_string(const char *prompt); /** * - * @param param - * @param prompt - * @param bits - * @return - */ -GEN input_param(param_t param, const char *prompt, unsigned long bits); - -/** - * */ extern FILE *in; /** - * + * @brief Initialize input based on cfg. * @param cfg + * @return whether the initialization was successful */ -void input_init(const config_t *cfg); +bool input_init(const config_t *cfg); /** - * + * @brief Deinitialize input. */ void input_quit(void); diff --git a/src/io/output.c b/src/io/output.c index dafbf14..1904a22 100644 --- a/src/io/output.c +++ b/src/io/output.c @@ -292,7 +292,7 @@ void output_f_end(FILE *out, const config_t *cfg) { void output_o_end(const config_t *cfg) { output_f_end(out, cfg); } -void output_init(const config_t *cfg) { +bool output_init(const config_t *cfg) { json_set_allocation_functions(try_malloc, pari_free); if (cfg->output) { @@ -333,6 +333,7 @@ void output_init(const config_t *cfg) { break; } } + return true; } void output_quit(void) { diff --git a/src/io/output.h b/src/io/output.h index cafffc1..f04e665 100644 --- a/src/io/output.h +++ b/src/io/output.h @@ -208,8 +208,9 @@ extern FILE *verbose; /** * @brief Initialize output based on cfg. * @param cfg + * @return whether the initialization was successful */ -void output_init(const config_t *cfg); +bool output_init(const config_t *cfg); /** * @brief Deinitialize output. |
