Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Nov 2014 09:13:31 +0100
From:      Mateusz Guzik <mjguzik@gmail.com>
To:        Tiwei Bie <btw@mail.ustc.edu.cn>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: [PATCH] Finish the task 'sysctl reporting current working directory'
Message-ID:  <20141106081330.GA12284@dft-labs.eu>
In-Reply-To: <20141103085235.GA85851@freebsd>
References:  <1414987325-23280-1-git-send-email-btw@mail.ustc.edu.cn> <20141103051908.GC29497@dft-labs.eu> <20141103064052.GA1739@freebsd> <20141103080526.GE29497@dft-labs.eu> <20141103085235.GA85851@freebsd>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Nov 03, 2014 at 04:52:35PM +0800, Tiwei Bie wrote:

kernel changes got in in r274167

Please submit tmux patch to bugzilla.

> 
> diff --git a/osdep-freebsd.c b/osdep-freebsd.c
> index d596eab..46f6f3f 100644
> --- a/osdep-freebsd.c
> +++ b/osdep-freebsd.c
> @@ -132,6 +132,21 @@ error:
>  	return (NULL);
>  }
>  
> +#ifdef KERN_PROC_CWD
> +char *
> +osdep_get_cwd(int fd)
> +{
> +	static struct kinfo_file info;
> +	int	name[] = { CTL_KERN, KERN_PROC, KERN_PROC_CWD, 0 };
> +	size_t	len = sizeof info;
> +
> +	if ((name[3] = tcgetpgrp(fd)) == -1)
> +		return (NULL);
> +	if (sysctl(name, 4, &info, &len, NULL, 0) != 0)
> +		return (NULL);
> +	return (info.kf_path);
> +}
> +#else /* !KERN_PROC_CWD */
>  char *
>  osdep_get_cwd(int fd)
>  {
> @@ -157,6 +172,7 @@ osdep_get_cwd(int fd)
>  	free(info);
>  	return (NULL);
>  }
> +#endif /* KERN_PROC_CWD */
>  
>  struct event_base *
>  osdep_event_init(void)

-- 
Mateusz Guzik <mjguzik gmail.com>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20141106081330.GA12284>