aboutsummaryrefslogtreecommitdiff
path: root/src/ecgen.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ecgen.c')
-rw-r--r--src/ecgen.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/src/ecgen.c b/src/ecgen.c
index acec047..713ebbe 100644
--- a/src/ecgen.c
+++ b/src/ecgen.c
@@ -24,6 +24,7 @@
* @copyright GPL v2.0
*/
#include <pari/pari.h>
+#include "misc/config.h"
#include "cm/cm.h"
#include "exhaustive/exhaustive.h"
#include "invalid/invalid.h"
@@ -45,17 +46,17 @@ static struct argp argp = {cli_options, cli_parse, cli_args_doc,
bool init(void) {
// init PARI, 1GB stack, 1M primes
- pari_init(cfg.memory, 1000000);
+ pari_init(cfg->memory, 1000000);
// init PARI PRNG
if (!random_init()) return false;
// init the signal handlers, etc. for timeout handling
- if (!timeout_init(&cfg)) return false;
+ if (!timeout_init()) return false;
// set datadir if specified
- if (cfg.datadir) {
- default0("datadir", cfg.datadir);
+ if (cfg->datadir) {
+ default0("datadir", cfg->datadir);
}
// init the modular polynomial db from seadata
@@ -69,10 +70,10 @@ bool init(void) {
pari_ENDCATCH avma = ltop;
// open outfile
- if (!output_init(&cfg)) return false;
+ if (!output_init(cfg)) return false;
// open infile
- if (!input_init(&cfg)) return false;
+ if (!input_init(cfg)) return false;
return true;
}
@@ -136,20 +137,20 @@ int quit(int status) {
*/
int main(int argc, char *argv[]) {
// Parse cli args
- memset(&cfg, 0, sizeof(cfg));
- argp_parse(&argp, argc, argv, 0, 0, &cfg);
+ memset(cfg, 0, sizeof(cfg_s));
+ argp_parse(&argp, argc, argv, 0, 0, cfg);
if (!init()) {
return quit(EXIT_FAILURE);
}
int status;
- if (cfg.cm) {
- status = cm_do(&cfg);
- } else if (cfg.invalid) {
- status = invalid_do(&cfg);
+ if (cfg->cm) {
+ status = cm_do();
+ } else if (cfg->invalid) {
+ status = invalid_do();
} else {
- status = exhaustive_do(&cfg);
+ status = exhaustive_do();
}
return quit(status);
}