Added Xstat.c
This commit is contained in:
parent
6e5f3632c6
commit
72ab7b68b8
|
@ -40,6 +40,7 @@ ptrace.s
|
|||
read.s
|
||||
setgid.s
|
||||
setuid.s
|
||||
Xstat.c
|
||||
stat.s
|
||||
stime.s
|
||||
sync.s
|
||||
|
|
43
mach/m68020/libsys/Xstat.c
Normal file
43
mach/m68020/libsys/Xstat.c
Normal 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++;
|
||||
}
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue