ceriel преди 37 години
родител
ревизия
3a61c2e5b9
променени са 4 файла, в които са добавени 50 реда и са изтрити 6 реда
  1. 1 0
      mach/m68020/libsys/LIST
  2. 43 0
      mach/m68020/libsys/Xstat.c
  3. 3 3
      mach/m68020/libsys/fstat.s
  4. 3 3
      mach/m68020/libsys/stat.s

+ 1 - 0
mach/m68020/libsys/LIST

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

+ 43 - 0
mach/m68020/libsys/Xstat.c

@@ -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++;
+}

+ 3 - 3
mach/m68020/libsys/fstat.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)

+ 3 - 3
mach/m68020/libsys/stat.s

@@ -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)