aboutsummaryrefslogtreecommitdiff
path: root/src/io/input.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/io/input.c')
-rw-r--r--src/io/input.c8
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