diff options
author | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2000-11-13 10:22:40 +0000 |
---|---|---|
committer | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2000-11-13 10:22:40 +0000 |
commit | bbb0d75e253c9ef897bdf2d23ca76557ac540305 (patch) | |
tree | 719f4e522ce74e63a34180fec589f4f9fe49eea6 /Src/Modules | |
parent | 8bcdb3b0e14e6a43fb371f23886d65dfa47b9c31 (diff) | |
download | zsh-bbb0d75e253c9ef897bdf2d23ca76557ac540305.tar.gz zsh-bbb0d75e253c9ef897bdf2d23ca76557ac540305.tar.xz zsh-bbb0d75e253c9ef897bdf2d23ca76557ac540305.zip |
use unmetafy() to allow writing special characters into a pty (13156)
Diffstat (limited to 'Src/Modules')
-rw-r--r-- | Src/Modules/zpty.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Src/Modules/zpty.c b/Src/Modules/zpty.c index e76411a8b..dcca286c0 100644 --- a/Src/Modules/zpty.c +++ b/Src/Modules/zpty.c @@ -562,13 +562,15 @@ static int ptywrite(Ptycmd cmd, char **args, int nonl) { if (*args) { - char sp = ' '; + char sp = ' ', *tmp; + int len; - while (*args) - if (ptywritestr(cmd, *args, strlen(*args)) || + while (*args) { + unmetafy((tmp = dupstring(*args)), &len); + if (ptywritestr(cmd, tmp, len) || (*++args && ptywritestr(cmd, &sp, 1))) return 1; - + } if (!nonl) { sp = '\n'; if (ptywritestr(cmd, &sp, 1)) |