1
0
mirror of https://github.com/Interlisp/maiko.git synced 2026-04-26 04:17:27 +00:00

Replace Addr68k related macros with NativeAligned inline functions

This commit is contained in:
Nick Briggs
2022-09-01 14:15:36 -07:00
parent a3b064b2b7
commit c2ee07f609

View File

@@ -19,7 +19,7 @@
#include <sys/types.h> // for ino_t, time_t, off_t #include <sys/types.h> // for ino_t, time_t, off_t
#include <unistd.h> // for unlink, close, link, lseek, access, chdir #include <unistd.h> // for unlink, close, link, lseek, access, chdir
#include "adr68k.h" // for Addr68k_from_LADDR #include "adr68k.h" // for NativeAligned4FromLAddr
#include "arith.h" // for GetSmallp #include "arith.h" // for GetSmallp
#ifdef BYTESWAP #ifdef BYTESWAP
#include "byteswapdefs.h" // for word_swap_page #include "byteswapdefs.h" // for word_swap_page
@@ -223,7 +223,7 @@ LispPTR COM_openfile(LispPTR *args)
char rawname[MAXNAMLEN]; char rawname[MAXNAMLEN];
#endif /* DOS */ #endif /* DOS */
ERRSETJMP(NIL); ERRSETJMP(NIL);
Lisp_errno = (int *)(Addr68k_from_LADDR(args[5])); Lisp_errno = (int *)NativeAligned4FromLAddr(args[5]);
LispStringLength(args[0], slen, fatp); LispStringLength(args[0], slen, fatp);
/* /*
@@ -499,10 +499,10 @@ LispPTR COM_openfile(LispPTR *args)
return (NIL); return (NIL);
} }
bufp = (int *)(Addr68k_from_LADDR(args[3])); bufp = (int *)NativeAligned4FromLAddr(args[3]);
*bufp = ToLispTime(sbuf.st_mtime); *bufp = ToLispTime(sbuf.st_mtime);
bufp = (int *)(Addr68k_from_LADDR(args[4])); bufp = (int *)NativeAligned4FromLAddr(args[4]);
if (!dskp && (!S_ISREG(sbuf.st_mode)) && (!S_ISDIR(sbuf.st_mode))) { if (!dskp && (!S_ISREG(sbuf.st_mode)) && (!S_ISDIR(sbuf.st_mode))) {
/* /*
* Not a regular file or directory file. Put on a marker. * Not a regular file or directory file. Put on a marker.
@@ -561,7 +561,7 @@ LispPTR COM_closefile(LispPTR *args)
char rawname[MAXNAMLEN]; char rawname[MAXNAMLEN];
ERRSETJMP(NIL); ERRSETJMP(NIL);
Lisp_errno = (int *)(Addr68k_from_LADDR(args[3])); Lisp_errno = (int *)NativeAligned4FromLAddr(args[3]);
LispStringLength(args[0], rval, dskp); LispStringLength(args[0], rval, dskp);
@@ -690,7 +690,7 @@ LispPTR COM_closefile(LispPTR *args)
ino_t ino; ino_t ino;
ERRSETJMP(NIL); ERRSETJMP(NIL);
Lisp_errno = (int *)(Addr68k_from_LADDR(args[3])); Lisp_errno = (int *)NativeAligned4FromLAddr(args[3]);
LispStringLength(args[0], rval, fatp); LispStringLength(args[0], rval, fatp);
/* /*
@@ -858,7 +858,7 @@ LispPTR DSK_getfilename(LispPTR *args)
#endif /* DOS */ #endif /* DOS */
ERRSETJMP(NIL); ERRSETJMP(NIL);
Lisp_errno = (int *)(Addr68k_from_LADDR(args[3])); Lisp_errno = (int *)NativeAligned4FromLAddr(args[3]);
LispStringLength(args[0], len, fatp); LispStringLength(args[0], len, fatp);
/* /*
@@ -1139,7 +1139,7 @@ LispPTR DSK_deletefile(LispPTR *args)
#endif /* DOS */ #endif /* DOS */
ERRSETJMP(NIL); ERRSETJMP(NIL);
Lisp_errno = (int *)(Addr68k_from_LADDR(args[1])); Lisp_errno = (int *)NativeAligned4FromLAddr(args[1]);
LispStringLength(args[0], rval, fatp); LispStringLength(args[0], rval, fatp);
/* /*
@@ -1288,7 +1288,7 @@ LispPTR DSK_renamefile(LispPTR *args)
#endif /* DOS */ #endif /* DOS */
ERRSETJMP(NIL); ERRSETJMP(NIL);
Lisp_errno = (int *)(Addr68k_from_LADDR(args[2])); Lisp_errno = (int *)NativeAligned4FromLAddr(args[2]);
LispStringLength(args[0], rval, fatp); LispStringLength(args[0], rval, fatp);
/* /*
@@ -1511,7 +1511,7 @@ LispPTR DSK_directorynamep(LispPTR *args)
#endif /* DOS */ #endif /* DOS */
ERRSETJMP(NIL); ERRSETJMP(NIL);
Lisp_errno = (int *)(Addr68k_from_LADDR(args[2])); Lisp_errno = (int *)NativeAligned4FromLAddr(args[2]);
LispStringLength(args[0], len, fatp); LispStringLength(args[0], len, fatp);
/* /*
@@ -1603,7 +1603,7 @@ LispPTR COM_getfileinfo(LispPTR *args)
#endif /* DOS */ #endif /* DOS */
ERRSETJMP(NIL); ERRSETJMP(NIL);
Lisp_errno = (int *)(Addr68k_from_LADDR(args[3])); Lisp_errno = (int *)NativeAligned4FromLAddr(args[3]);
LispStringLength(args[0], rval, dskp); LispStringLength(args[0], rval, dskp);
/* /*
@@ -1672,22 +1672,22 @@ LispPTR COM_getfileinfo(LispPTR *args)
switch (args[1]) { switch (args[1]) {
case LENGTH: case LENGTH:
bufp = (unsigned *)(Addr68k_from_LADDR(args[2])); bufp = (unsigned *)NativeAligned4FromLAddr(args[2]);
*bufp = (unsigned)sbuf.st_size; *bufp = (unsigned)sbuf.st_size;
return (ATOM_T); return (ATOM_T);
case WDATE: case WDATE:
bufp = (unsigned *)(Addr68k_from_LADDR(args[2])); bufp = (unsigned *)NativeAligned4FromLAddr(args[2]);
*bufp = (unsigned)ToLispTime(sbuf.st_mtime); *bufp = (unsigned)ToLispTime(sbuf.st_mtime);
return (ATOM_T); return (ATOM_T);
case RDATE: case RDATE:
bufp = (unsigned *)(Addr68k_from_LADDR(args[2])); bufp = (unsigned *)NativeAligned4FromLAddr(args[2]);
*bufp = (unsigned)ToLispTime(sbuf.st_atime); *bufp = (unsigned)ToLispTime(sbuf.st_atime);
return (ATOM_T); return (ATOM_T);
case PROTECTION: case PROTECTION:
bufp = (unsigned *)(Addr68k_from_LADDR(args[2])); bufp = (unsigned *)NativeAligned4FromLAddr(args[2]);
*bufp = sbuf.st_mode; *bufp = sbuf.st_mode;
return (ATOM_T); return (ATOM_T);
@@ -1723,19 +1723,19 @@ LispPTR COM_getfileinfo(LispPTR *args)
* (AUTHOR . string)) * (AUTHOR . string))
*/ */
laddr = cdr(car(args[2])); laddr = cdr(car(args[2]));
bufp = (unsigned *)(Addr68k_from_LADDR(laddr)); bufp = (unsigned *)NativeAligned4FromLAddr(laddr);
*bufp = sbuf.st_size; *bufp = sbuf.st_size;
laddr = cdr(car(cdr(args[2]))); laddr = cdr(car(cdr(args[2])));
bufp = (unsigned *)(Addr68k_from_LADDR(laddr)); bufp = (unsigned *)NativeAligned4FromLAddr(laddr);
*bufp = ToLispTime(sbuf.st_mtime); *bufp = ToLispTime(sbuf.st_mtime);
laddr = cdr(car(cdr(cdr(args[2])))); laddr = cdr(car(cdr(cdr(args[2]))));
bufp = (unsigned *)(Addr68k_from_LADDR(laddr)); bufp = (unsigned *)NativeAligned4FromLAddr(laddr);
*bufp = ToLispTime(sbuf.st_atime); *bufp = ToLispTime(sbuf.st_atime);
laddr = cdr(car(cdr(cdr(cdr(args[2]))))); laddr = cdr(car(cdr(cdr(cdr(args[2])))));
bufp = (unsigned *)(Addr68k_from_LADDR(laddr)); bufp = (unsigned *)NativeAligned4FromLAddr(laddr);
*bufp = sbuf.st_mode; *bufp = sbuf.st_mode;
#ifndef DOS #ifndef DOS
TIMEOUT0(pwd = getpwuid(sbuf.st_uid)); TIMEOUT0(pwd = getpwuid(sbuf.st_uid));
@@ -1798,7 +1798,7 @@ LispPTR COM_setfileinfo(LispPTR *args)
#endif /* DOS */ #endif /* DOS */
ERRSETJMP(NIL); ERRSETJMP(NIL);
Lisp_errno = (int *)(Addr68k_from_LADDR(args[3])); Lisp_errno = (int *)NativeAligned4FromLAddr(args[3]);
LispStringLength(args[0], rval, dskp); LispStringLength(args[0], rval, dskp);
/* /*
@@ -1924,11 +1924,11 @@ LispPTR COM_readpage(LispPTR *args)
struct stat sbuf; struct stat sbuf;
ERRSETJMP(NIL); ERRSETJMP(NIL);
Lisp_errno = (int *)(Addr68k_from_LADDR(args[3])); Lisp_errno = (int *)NativeAligned4FromLAddr(args[3]);
fd = LispNumToCInt(args[0]); fd = LispNumToCInt(args[0]);
npage = LispNumToCInt(args[1]); npage = LispNumToCInt(args[1]);
bufp = (char *)(Addr68k_from_LADDR(args[2])); bufp = (char *)NativeAligned2FromLAddr(args[2]);
TIMEOUT(rval = fstat(fd, &sbuf)); TIMEOUT(rval = fstat(fd, &sbuf));
if (rval != 0) { if (rval != 0) {
@@ -2009,11 +2009,11 @@ LispPTR COM_writepage(LispPTR *args)
off_t offval; off_t offval;
ERRSETJMP(NIL); ERRSETJMP(NIL);
Lisp_errno = (int *)(Addr68k_from_LADDR(args[4])); Lisp_errno = (int *)NativeAligned4FromLAddr(args[4]);
fd = LispNumToCInt(args[0]); fd = LispNumToCInt(args[0]);
npage = LispNumToCInt(args[1]); npage = LispNumToCInt(args[1]);
bufp = (char *)(Addr68k_from_LADDR(args[2])); bufp = (char *)NativeAligned2FromLAddr(args[2]);
count = LispNumToCInt(args[3]); count = LispNumToCInt(args[3]);
sklp2: sklp2:
@@ -2078,7 +2078,7 @@ LispPTR COM_truncatefile(LispPTR *args)
struct stat sbuf; struct stat sbuf;
ERRSETJMP(NIL); ERRSETJMP(NIL);
Lisp_errno = (int *)(Addr68k_from_LADDR(args[2])); Lisp_errno = (int *)NativeAligned4FromLAddr(args[2]);
fd = LispNumToCInt(args[0]); fd = LispNumToCInt(args[0]);
length = LispNumToCInt(args[1]); length = LispNumToCInt(args[1]);
@@ -2263,7 +2263,7 @@ LispPTR COM_getfreeblock(LispPTR *args)
if (rval > MAXPATHLEN + 5) FileNameTooLong(NIL); if (rval > MAXPATHLEN + 5) FileNameTooLong(NIL);
LispStringToCString(args[0], lfname, MAXPATHLEN); LispStringToCString(args[0], lfname, MAXPATHLEN);
buf = (int *)(Addr68k_from_LADDR(args[1])); buf = (int *)NativeAligned4FromLAddr(args[1]);
#ifdef DOS #ifdef DOS
separate_host(lfname, host, drive); separate_host(lfname, host, drive);
#else #else