Fill in osdep_get_cwd on Darwin, from Alex Ernst.

pull/1/head
Nicholas Marriott 2012-01-27 09:01:06 +00:00
parent 224255cb89
commit ad2cc63412
1 changed files with 11 additions and 0 deletions

View File

@ -20,6 +20,7 @@
#include <sys/sysctl.h>
#include <event.h>
#include <libproc.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
@ -52,6 +53,16 @@ osdep_get_name(int fd, unused char *tty)
char *
osdep_get_cwd(pid_t pid)
{
static char wd[PATH_MAX];
struct proc_vnodepathinfo pathinfo;
int ret;
ret = proc_pidinfo(
pid, PROC_PIDVNODEPATHINFO, 0, &pathinfo, sizeof pathinfo);
if (ret == sizeof pathinfo) {
strlcpy(wd, pathinfo.pvi_cdir.vip_path, sizeof wd);
return (wd);
}
return (NULL);
}