aboutsummaryrefslogtreecommitdiff
path: root/src/io/input.c
diff options
context:
space:
mode:
authorJ08nY2017-04-05 00:18:01 +0200
committerJ08nY2017-04-05 00:23:33 +0200
commitf87dd8a285755f9b1d838b3efdfd952fae81ee55 (patch)
tree07916d786c9c68e8020e4ee969b328d19eebbc0f /src/io/input.c
parentb77fd8c4eb3f1dba399d8451909fefc52b436c35 (diff)
downloadecgen-f87dd8a285755f9b1d838b3efdfd952fae81ee55.tar.gz
ecgen-f87dd8a285755f9b1d838b3efdfd952fae81ee55.tar.zst
ecgen-f87dd8a285755f9b1d838b3efdfd952fae81ee55.zip
Add exhaustive_gen_retry, fix infinite loop, add retry limit to exhaustive gen
Diffstat (limited to 'src/io/input.c')
-rw-r--r--src/io/input.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/io/input.c b/src/io/input.c
index 4697d05..348302d 100644
--- a/src/io/input.c
+++ b/src/io/input.c
@@ -18,6 +18,9 @@ GEN input_i(const char *prompt, long bits) {
size_t n = 0;
ssize_t len = getdelim(&line, &n, delim, in);
+ if (len <= 0) {
+ return gen_m1;
+ }
if (len == 1) {
free(line);
return gen_m1;
@@ -26,7 +29,7 @@ GEN input_i(const char *prompt, long bits) {
;
pari_sp ltop = avma;
- if (len <= 3 || line[0] != '0' && (line[1] != 'x' || line[1] != 'X')) {
+ if (len <= 3 || (line[0] != '0' && (line[1] != 'x' || line[1] != 'X'))) {
char *new_line = realloc(line, (size_t)(len + 2));
if (!new_line) {
perror("Couldn't alloc.");