STATUS: 81% done
0000 T _gtime compatible
000e T _ftime compatible
00a4 T _stime compatible
00d2 T _setuid compatible
012e T _getuid compatible
0148 T _setgid compatible
019a T _getgid compatible
01b4 T _getpid compatible
01d0 T _setpgrp compatible
0206 T _sync compatible
020e T _nice compatible
027c T _unlink compatible
038e T _chdir compatible
0398 T _chroot compatible
03ac T _chdirec compatible
042a T _chmod compatible
04a0 T _chown compatible
04fa T _ssig not compatible
0612 T _kill not compatible
0722 T _times not compatible
077a T _profil compatible
07ac T _sprofil not existent
0872 T _alarm compatible
08aa T _pause compatible
08bc T _umask compatible
08e0 T _utime compatible
09ee T _nosys compatible
09f8 T _nullsys compatible
09fa T _bpt not existent
0a0a T _utssys not compatible
0b0a T _ulimit compatible
This commit is contained in:
parent
ac5f92dd15
commit
aae7e621be
|
|
@ -488,7 +488,8 @@ utime()
|
|||
time_t tv[2];
|
||||
|
||||
uap = (struct a *)u.u_ap;
|
||||
if (uap->tptr != NULL) {
|
||||
if ((!u.u_segmented && uap->tptr != (time_t *)0x3f000000) ||
|
||||
(u.u_segmented && uap->tptr != NULL)) {
|
||||
if (copyin((caddr_t)uap->tptr, (caddr_t)tv, sizeof(tv))) {
|
||||
u.u_error = EFAULT;
|
||||
return;
|
||||
|
|
@ -501,10 +502,12 @@ utime()
|
|||
if (ip == NULL)
|
||||
return;
|
||||
if (u.u_uid != ip->i_uid && u.u_uid != 0) {
|
||||
if (uap->tptr != NULL)
|
||||
if ((!u.u_segmented && uap->tptr != (time_t *)0x3f000000) ||
|
||||
(u.u_segmented && uap->tptr != NULL)) {
|
||||
u.u_error = EPERM;
|
||||
else
|
||||
} else {
|
||||
access(ip, IWRITE);
|
||||
}
|
||||
}
|
||||
if (!u.u_error) {
|
||||
ip->i_flag |= IACC|IUPD|ICHG;
|
||||
|
|
@ -536,10 +539,16 @@ utssys()
|
|||
int mv;
|
||||
int type;
|
||||
} *uap;
|
||||
register struct mount *mp;
|
||||
register struct filsys *fp;
|
||||
extern int Nmount;
|
||||
|
||||
/* variable declarations missing probably used for case 2 */
|
||||
|
||||
uap = (struct a *)u.u_ap;
|
||||
switch(uap->type) {
|
||||
|
||||
/* case 0 should work - case 2 is not compatible */
|
||||
case 0: /* uname */
|
||||
if (copyout(&utsname, uap->cbuf, sizeof(struct utsname)))
|
||||
u.u_error = EFAULT;
|
||||
|
|
@ -548,12 +557,10 @@ case 0: /* uname */
|
|||
/* case 1 was umask */
|
||||
|
||||
case 2: /* ustat */
|
||||
for(i=0; i<NMOUNT; i++) {
|
||||
register struct mount *mp;
|
||||
for(i=0; i<Nmount; i++) {
|
||||
|
||||
mp = &mount[i];
|
||||
if(mp->m_flags == MINUSE && mp->m_dev==uap->mv) {
|
||||
register struct filsys *fp;
|
||||
|
||||
fp = mp->m_bufp->b_un.b_filsys;
|
||||
if(copyout(&fp->s_tfree, uap->cbuf, 18))
|
||||
|
|
|
|||
Loading…
Reference in New Issue