diff options
Diffstat (limited to 'src/io/input.c')
| -rw-r--r-- | src/io/input.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/io/input.c b/src/io/input.c index 971ffdf..507bd59 100644 --- a/src/io/input.c +++ b/src/io/input.c @@ -32,11 +32,13 @@ static GEN input_i(const char *prompt, unsigned long bits) { free(line); return gen_m1; } - for (size_t i = 0, j = 0; (line[j] = line[i]); j += !isspace(line[i++])) - ; + bool sign = line[0] == '-'; pari_sp ltop = avma; - GEN in = strtoi(line); + GEN in = strtoi(line + sign); + if (sign) { + togglesign(in); + } free(line); // check bitsize here |
