mirror of
https://github.com/tmux/tmux.git
synced 2025-09-01 04:27:00 +00:00
The AIX functions hang on 7300-01-01-2246 according to GitHub issue 4400.
Remove them.
This commit is contained in:
62
osdep-aix.c
62
osdep-aix.c
@ -16,75 +16,19 @@
|
||||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/procfs.h>
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#include "tmux.h"
|
||||
|
||||
char *
|
||||
osdep_get_name(__unused int fd, char *tty)
|
||||
osdep_get_name(__unused int fd, __unused char *tty)
|
||||
{
|
||||
struct psinfo p;
|
||||
char *path;
|
||||
ssize_t bytes;
|
||||
int f, ttyfd, retval;
|
||||
pid_t pgrp;
|
||||
|
||||
if ((ttyfd = open(tty, O_RDONLY|O_NOCTTY)) == -1)
|
||||
return (NULL);
|
||||
|
||||
retval = ioctl(ttyfd, TIOCGPGRP, &pgrp);
|
||||
close(ttyfd);
|
||||
if (retval == -1)
|
||||
return (NULL);
|
||||
|
||||
xasprintf(&path, "/proc/%u/psinfo", (u_int) pgrp);
|
||||
f = open(path, O_RDONLY);
|
||||
free(path);
|
||||
if (f < 0)
|
||||
return (NULL);
|
||||
|
||||
bytes = read(f, &p, sizeof(p));
|
||||
close(f);
|
||||
if (bytes != sizeof(p))
|
||||
return (NULL);
|
||||
|
||||
return (xstrdup(p.pr_fname));
|
||||
}
|
||||
|
||||
char *
|
||||
osdep_get_cwd(int fd)
|
||||
osdep_get_cwd(__unused int fd)
|
||||
{
|
||||
static char target[MAXPATHLEN + 1];
|
||||
char *path;
|
||||
const char *ttypath;
|
||||
ssize_t n;
|
||||
pid_t pgrp;
|
||||
int len, retval, ttyfd;
|
||||
|
||||
if ((ttypath = ptsname(fd)) == NULL)
|
||||
return (NULL);
|
||||
if ((ttyfd = open(ttypath, O_RDONLY|O_NOCTTY)) == -1)
|
||||
return (NULL);
|
||||
|
||||
retval = ioctl(ttyfd, TIOCGPGRP, &pgrp);
|
||||
close(ttyfd);
|
||||
if (retval == -1)
|
||||
return (NULL);
|
||||
|
||||
xasprintf(&path, "/proc/%u/cwd", (u_int) pgrp);
|
||||
n = readlink(path, target, MAXPATHLEN);
|
||||
free(path);
|
||||
if (n > 0) {
|
||||
target[n] = '\0';
|
||||
if ((len = strlen(target)) > 1 && target[len - 1] == '/')
|
||||
target[len - 1] = '\0';
|
||||
return (target);
|
||||
}
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
|
@ -40,7 +40,7 @@ osdep_get_name(int fd, __unused char *tty)
|
||||
}
|
||||
|
||||
char *
|
||||
osdep_get_cwd(int fd)
|
||||
osdep_get_cwd(__unused int fd)
|
||||
{
|
||||
return (NULL);
|
||||
}
|
||||
|
Reference in New Issue
Block a user