diff options
author | Axel Beckert <abe@deuxchevaux.org> | 2015-09-08 22:44:56 +0200 |
---|---|---|
committer | Axel Beckert <abe@deuxchevaux.org> | 2015-09-08 22:44:56 +0200 |
commit | 22cf83b3c5920784188d7dcdfe1ff319cf4603f1 (patch) | |
tree | 30c4fcd9ab3549c43904ed095e98f03bd4d91244 /Src/utils.c | |
parent | 6c27cb3d5292f8ea6c93503afe54fcc1bce4c1cc (diff) | |
parent | eaea1dc23c4a4e7b65046edd7f3d53a81e39e27b (diff) | |
download | zsh-22cf83b3c5920784188d7dcdfe1ff319cf4603f1.tar.gz zsh-22cf83b3c5920784188d7dcdfe1ff319cf4603f1.zip |
Merge tag 'zsh-5.1-test-1' into debian
Diffstat (limited to 'Src/utils.c')
-rw-r--r-- | Src/utils.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Src/utils.c b/Src/utils.c index 4c4dc55cd..ca68eae32 100644 --- a/Src/utils.c +++ b/Src/utils.c @@ -2538,11 +2538,16 @@ static int read1char(int echo) { char c; + int q = queue_signal_level(); + dont_queue_signals(); while (read(SHTTY, &c, 1) != 1) { - if (errno != EINTR || errflag || retflag || breaks || contflag) + if (errno != EINTR || errflag || retflag || breaks || contflag) { + restore_queue_signals(q); return -1; + } } + restore_queue_signals(q); if (echo) write_loop(SHTTY, &c, 1); return STOUC(c); @@ -3083,7 +3088,8 @@ morefmt: case '#': case '_': case '-': - case '0' ... '9': + case '0': case '1': case '2': case '3': case '4': + case '5': case '6': case '7': case '8': case '9': goto morefmt; strftimehandling: default: |