diff options
Diffstat (limited to 'Src/builtin.c')
-rw-r--r-- | Src/builtin.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/Src/builtin.c b/Src/builtin.c index 4a10c7dd1..5b711edc0 100644 --- a/Src/builtin.c +++ b/Src/builtin.c @@ -1363,10 +1363,19 @@ bin_fc(char *nam, char **argv, Options ops, int func) if (*argv) { hf = *argv++; if (*argv) { - hs = zstrtol(*argv++, NULL, 10); - if (*argv) - shs = zstrtol(*argv++, NULL, 10); - else + char *check; + hs = zstrtol(*argv++, &check, 10); + if (*check) { + zwarnnam("fc", "HISTSIZE must be an integer"); + return 1; + } + if (*argv) { + shs = zstrtol(*argv++, &check, 10); + if (*check) { + zwarnnam("fc", "SAVEHIST must be an integer"); + return 1; + } + } else shs = hs; if (*argv) { zwarnnam("fc", "too many arguments"); |