Re: [dwm] st on OpenBSD

2008-06-17 Thread James Turner
On Tue, Jun 17, 2008 at 09:53:36AM +0200, Matthias-Christian Ott wrote:
> James Turner <[EMAIL PROTECTED]> wrote:
> 
> > Has anyone tried to run st on OpenBSD?  OpenBSD doesn't support the
> > posix_openpt functions, I was wondering if anyone has tried to implement
> > openpty(3) instead?
> 
> For the new version of st I implemented platform-independent pty
> handling. I attached the file.
> 
> Regards
> Matthias-Christian

Great, thanks. I will definitely give this a try tonight after work.

-- 
James Turner
BSD Group Consulting
http://www.bsdgroup.org



Re: [dwm] st on OpenBSD

2008-06-17 Thread Matthias-Christian Ott
James Turner <[EMAIL PROTECTED]> wrote:

> Has anyone tried to run st on OpenBSD?  OpenBSD doesn't support the
> posix_openpt functions, I was wondering if anyone has tried to implement
> openpty(3) instead?

For the new version of st I implemented platform-independent pty
handling. I attached the file.

Regards
Matthias-Christian
/* See LICENSE file for copyright and license details. */
#include "util.h"
#include 
#include 
#include 
#include 
#if !(_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)
#include 
#endif

extern int ptm, pts;

void
getpty(void) {
char *ptsdev;

#if defined(_GNU_SOURCE)
ptm = getpt();
#elif _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600
ptm = posix_openpt(O_RDWR);
#else
ptm = open("/dev/ptmx", O_RDWR);
if(ptm == -1)
if(openpty(&ptm, &pts, NULL, NULL, NULL) == -1)
eprintn("error, cannot open pty");
#endif
#if defined(_XOPEN_SOURCE)
if(ptm != -1) {
if(grantpt(ptm) == -1)
eprintn("error, cannot grant access to pty");
if(unlockpt(ptm) == -1)
eprintn("error, cannot unlock pty");
ptsdev = ptsname(ptm);
if(!ptsdev)
eprintn("error, slave pty name undefined");
pts = open(ptsdev, O_RDWR);
if(pts == -1)
eprintn("error, cannot open slave pty");
}
else
eprintn("error, cannot open pty");
#endif
}


[dwm] st on OpenBSD

2008-06-16 Thread James Turner
Has anyone tried to run st on OpenBSD?  OpenBSD doesn't support the
posix_openpt functions, I was wondering if anyone has tried to implement
openpty(3) instead?

-- 
James Turner
BSD Group Consulting
http://www.bsdgroup.org