diff options
author | Lennart Poettering <lennart@poettering.net> | 2014-12-23 01:58:49 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2014-12-23 03:26:24 +0100 |
commit | ee451d766a64117a41ec36dd71e61683c9d9b83c (patch) | |
tree | 12a05ec521818b9ed02b0d15811d82e2d6fc9f5d /src/shared/util.c | |
parent | 40205d706e1210763ff4c98a317556375bd04bcd (diff) |
systemd-run: support -t mode when combined with -M
For that, ask machined for a container PTY and use that.
Diffstat (limited to 'src/shared/util.c')
-rw-r--r-- | src/shared/util.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/shared/util.c b/src/shared/util.c index 06b6077843..6695a85a1c 100644 --- a/src/shared/util.c +++ b/src/shared/util.c @@ -7433,3 +7433,27 @@ int sethostname_idempotent(const char *s) { return 1; } + +int ptsname_malloc(int fd, char **ret) { + size_t l = 100; + + for (;;) { + char *c; + + c = new(char, l); + if (!c) + return -ENOMEM; + + if (ptsname_r(fd, c, l) == 0) { + *ret = c; + return 0; + } + if (errno != ERANGE) { + free(c); + return -errno; + } + + free(c); + l *= 2; + } +} |