Added Xstat.c

This commit is contained in:
ceriel 1987-11-03 14:43:40 +00:00
parent 6e5f3632c6
commit 72ab7b68b8
4 changed files with 50 additions and 6 deletions

View file

@ -40,6 +40,7 @@ ptrace.s
read.s
setgid.s
setuid.s
Xstat.c
stat.s
stime.s
sync.s

View file

@ -0,0 +1,43 @@
#include <sys/types.h>
#include <sys/stat.h>
static Xcvt();
int
stat(path, buf)
char *path;
struct stat *buf;
{
char Xbuf[100];
int retval;
retval = _stat(path, Xbuf);
Xcvt(Xbuf, (char *)buf);
return retval;
}
int
fstat(fd, buf)
int fd;
struct stat *buf;
{
char Xbuf[100];
int retval;
retval = _fstat(fd, Xbuf);
Xcvt(Xbuf, (char *)buf);
return retval;
}
static
Xcvt(buf, statbuf)
char *buf, *statbuf;
{
register char *s, *t;
register int i;
s = buf; t = statbuf;
for (i = 14; i; i--) *t++ = *s++;
*t++ = 0; *t++ = 0;
for (i = 16; i; i--) *t++ = *s++;
}

View file

@ -1,9 +1,9 @@
.define _fstat
.extern _fstat
.define __fstat
.extern __fstat
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
_fstat: move.l #0x1C,d0
__fstat: move.l #0x1C,d0
jmp (callc)

View file

@ -1,9 +1,9 @@
.define _stat
.extern _stat
.define __stat
.extern __stat
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
_stat: move.l #0x12,d0
__stat: move.l #0x12,d0
jmp (callc)