diff options
author | Boris Faure <billiob@gmail.com> | 2015-02-23 23:32:12 +0100 |
---|---|---|
committer | Boris Faure <billiob@gmail.com> | 2015-02-23 23:33:06 +0100 |
commit | 27304c456f5d837dae4cddcc2a1dfeba38b2fc0b (patch) | |
tree | 16090b3f58404e1592f4ec28546a11c763efc32b /src | |
parent | cf1a9a3a015d6658a6777b24ef53eb271a0b4f28 (diff) |
make terminology start on solaris
Diffstat (limited to 'src')
-rw-r--r-- | src/bin/termpty.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/bin/termpty.c b/src/bin/termpty.c index 107b0de..1fef59f 100644 --- a/src/bin/termpty.c +++ b/src/bin/termpty.c | |||
@@ -16,6 +16,9 @@ | |||
16 | #include <errno.h> | 16 | #include <errno.h> |
17 | #include <unistd.h> | 17 | #include <unistd.h> |
18 | #include <termios.h> | 18 | #include <termios.h> |
19 | #if defined (__sun) || defined (__sun__) | ||
20 | # include <stropts.h> | ||
21 | #endif | ||
19 | 22 | ||
20 | /* specific log domain to help debug only terminal code parser */ | 23 | /* specific log domain to help debug only terminal code parser */ |
21 | int _termpty_log_dom = -1; | 24 | int _termpty_log_dom = -1; |
@@ -386,6 +389,15 @@ termpty_new(const char *cmd, Eina_Bool login_shell, const char *cd, | |||
386 | goto err; | 389 | goto err; |
387 | } | 390 | } |
388 | 391 | ||
392 | #if defined (__sun) || defined (__sun__) | ||
393 | if (ioctl(ty->slavefd, I_PUSH, "ptem") < 0 | ||
394 | || ioctl(ty->slavefd, I_PUSH, "ldterm") < 0 | ||
395 | || ioctl(ty->slavefd, I_PUSH, "ttcompat") < 0) | ||
396 | { | ||
397 | ERR(_("ioctl() on pty '%s' failed: %s"), pty, strerror(errno)); | ||
398 | goto err; | ||
399 | } | ||
400 | # endif | ||
389 | 401 | ||
390 | if (tcgetattr(ty->slavefd, &t) < 0) | 402 | if (tcgetattr(ty->slavefd, &t) < 0) |
391 | { | 403 | { |