- (djm) NeXT patch from Ben Lindstrom <mouring@pconline.com>
This commit is contained in:
parent
9a94734d25
commit
77aba9d024
1
CREDITS
1
CREDITS
|
@ -47,6 +47,7 @@ Kevin O'Connor <kevin_oconnor@standardandpoors.com> - RSAless operation
|
|||
Kiyokazu SUTO <suto@ks-and-ks.ne.jp> - Bugfixes
|
||||
Lutz Jaenicke <Lutz.Jaenicke@aet.TU-Cottbus.DE> - Bugfixes
|
||||
Marc G. Fournier <marc.fournier@acadiau.ca> - Solaris patches
|
||||
Mark Miller <markm@swoon.net> - Bugfixes
|
||||
Matt Richards <v2matt@btv.ibm.com> - AIX patches
|
||||
Michael Stone <mstone@cs.loyola.edu> - Irix enhancements
|
||||
Nalin Dahyabhai <nalin.dahyabhai@pobox.com> - PAM environment patch
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
- (djm) Quieten the pam delete credentials error message
|
||||
- (djm) Fix printing of $DISPLAY hack if set by system type. Report from
|
||||
Kevin Steves <stevesk@sweden.hp.com>
|
||||
- (djm) NeXT patch from Ben Lindstrom <mouring@pconline.com>
|
||||
|
||||
20000829
|
||||
- (djm) Fix ^C ignored issue on Solaris. Diagnosis from Gert
|
||||
|
|
|
@ -126,7 +126,6 @@ case "$host" in
|
|||
MAIL=/usr/spool/mail
|
||||
AC_DEFINE(HAVE_NEXT)
|
||||
CFLAGS="$CFLAGS -I/usr/local/include"
|
||||
AC_MSG_WARN([*** Tested: PA-RISC/m68k Untested: Sparc/Intel])
|
||||
;;
|
||||
*-*-solaris*)
|
||||
CFLAGS="$CFLAGS -I/usr/local/include"
|
||||
|
|
28
next-posix.c
28
next-posix.c
|
@ -2,8 +2,36 @@
|
|||
|
||||
#ifdef HAVE_NEXT
|
||||
#include <errno.h>
|
||||
#include <sys/wait.h>
|
||||
#include "next-posix.h"
|
||||
|
||||
pid_t
|
||||
posix_wait(int *status)
|
||||
{
|
||||
#undef wait /* Use NeXT's wait() function */
|
||||
union wait statusp;
|
||||
pid_t wait_pid;
|
||||
|
||||
wait_pid = wait(&statusp);
|
||||
status = (int *) statusp.w_status;
|
||||
|
||||
return wait_pid;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
posix_utime(char *filename,struct utimbuf *buf)
|
||||
{
|
||||
time_t timep[2];
|
||||
|
||||
timep[0] = buf->actime;
|
||||
timep[1] = buf->modtime;
|
||||
|
||||
#undef utime /* Use NeXT's utime() function */
|
||||
return utime(filename,timep);
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
waitpid(int pid, int *stat_loc, int options)
|
||||
{
|
||||
|
|
30
next-posix.h
30
next-posix.h
|
@ -10,15 +10,10 @@
|
|||
#include <libc.h>
|
||||
#include <sys/dir.h>
|
||||
|
||||
#define NAME_MAX 255
|
||||
struct dirent {
|
||||
off_t d_off;
|
||||
unsigned long d_fileno;
|
||||
unsigned short d_reclen;
|
||||
unsigned short d_namlen;
|
||||
char d_name[NAME_MAX + 1];
|
||||
};
|
||||
/* readdir() returns struct direct (BSD) not struct dirent (POSIX) */
|
||||
#define dirent direct
|
||||
|
||||
/* POSIX utime() struct */
|
||||
struct utimbuf {
|
||||
time_t actime;
|
||||
time_t modtime;
|
||||
|
@ -32,15 +27,22 @@ struct utimbuf {
|
|||
#undef WIFSTOPPED
|
||||
#undef WIFSIGNALED
|
||||
|
||||
#define _W_INT(w) (*(int*)&(w)) /* convert union wait to int */
|
||||
#define WIFEXITED(w) (!((_W_INT(w)) & 0377))
|
||||
#define WIFSTOPPED(w) ((_W_INT(w)) & 0100)
|
||||
#define WIFEXITED(w) (!((w) & 0377))
|
||||
#define WIFSTOPPED(w) ((w) & 0100)
|
||||
#define WIFSIGNALED(w) (!WIFEXITED(w) && !WIFSTOPPED(w))
|
||||
#define WEXITSTATUS(w) (int)(WIFEXITED(w) ? ((_W_INT(w) >> 8) & 0377) : -1)
|
||||
#define WTERMSIG(w) (int)(WIFSIGNALED(w) ? (_W_INT(w) & 0177) : -1)
|
||||
#define WEXITSTATUS(w) (int)(WIFEXITED(w) ? ((w >> 8) & 0377) : -1)
|
||||
#define WTERMSIG(w) (int)(WIFSIGNALED(w) ? (w & 0177) : -1)
|
||||
#define WCOREFLAG 0x80
|
||||
#define WCOREDUMP(w) ((_W_INT(w)) & WCOREFLAG)
|
||||
#define WCOREDUMP(w) ((w) & WCOREFLAG)
|
||||
|
||||
/* POSIX "wrapper" functions to replace to BSD functions */
|
||||
int posix_utime(char *filename, struct utimbuf *buf); /* new utime() */
|
||||
#define utime posix_utime
|
||||
|
||||
pid_t posix_wait(int *status); /* new wait() */
|
||||
#define wait posix_wait
|
||||
|
||||
/* MISC functions */
|
||||
int waitpid(int pid,int *stat_loc,int options);
|
||||
#define getpgrp() getpgrp(0)
|
||||
pid_t setsid(void);
|
||||
|
|
Loading…
Reference in New Issue