mirror of
https://github.com/Interlisp/maiko.git
synced 2026-03-17 07:17:16 +00:00
Compare commits
14 Commits
fgh_emscri
...
maiko-2404
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c391641691 | ||
|
|
38862ddb08 | ||
|
|
8d34f0869a | ||
|
|
e2e2c7e394 | ||
|
|
2e86450fad | ||
|
|
400ccab637 | ||
|
|
95f4ac8167 | ||
|
|
40f6488ee4 | ||
|
|
3c3fc94246 | ||
|
|
559ba779b2 | ||
|
|
afd6cf4b80 | ||
|
|
68baf6fb30 | ||
|
|
939c23c03b | ||
|
|
55591557b6 |
19
bin/makefile-haiku.x86_64-sdl
Normal file
19
bin/makefile-haiku.x86_64-sdl
Normal file
@@ -0,0 +1,19 @@
|
||||
# Options for Haiku, Intel x86_64 and SDL
|
||||
|
||||
CC = gcc -m64 $(GCC_CFLAGS)
|
||||
# CC = clang -m64 $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)sdl.o
|
||||
|
||||
XFLAGS = -DSDL
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351
|
||||
|
||||
LDFLAGS = -lSDL2 -lnetwork
|
||||
LDELDFLAGS = -lnetwork -lbsd
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldesdl
|
||||
@@ -12,6 +12,7 @@ case "$os" in
|
||||
*-*-openbsd*) echo openbsd ;;
|
||||
*-*-freebsd*) echo freebsd ;;
|
||||
*-*-cygwin*) echo cygwin ;;
|
||||
*-*-haiku*) echo haiku ;;
|
||||
esac
|
||||
### Don't leave the variable set.
|
||||
unset os
|
||||
|
||||
@@ -63,8 +63,8 @@ static inline DLword StackOffsetFromNative(void *SAddr)
|
||||
{
|
||||
/* Stack offsets are expressed as an offset in DLwords from the stack base */
|
||||
ptrdiff_t hoffset = (DLword *)SAddr - Stackspace;
|
||||
if (hoffset > 0xffff) {
|
||||
printf("Stack offset is too large: 0x%tx\n", hoffset);
|
||||
if (hoffset > 0xffff || hoffset < 0) {
|
||||
printf("Stack offset is out of range: 0x%tx\n", hoffset);
|
||||
}
|
||||
return (DLword)hoffset;
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
void process_io_events(void);
|
||||
void kb_trans(u_short keycode, u_short upflg);
|
||||
void taking_mouse_down(void);
|
||||
void taking_mouse_up(int newx, int newy);
|
||||
void copy_cursor(int newx, int newy);
|
||||
void cursor_hidden_bitmap(int x, int y);
|
||||
#endif
|
||||
|
||||
@@ -166,6 +166,12 @@
|
||||
# define MAIKO_ARCH_DETECTED 1
|
||||
#endif
|
||||
|
||||
#ifdef __HAIKU__
|
||||
# define MAIKO_OS_HAIKU 1
|
||||
# define MAIKO_OS_NAME "Haiku"
|
||||
# define MAIKO_OS_UNIX_LIKE 1
|
||||
# define MAIKO_OS_DETECTED 1
|
||||
#endif
|
||||
/* Modern GNU C, Clang, Sun Studio provide __BYTE_ORDER__
|
||||
* Older GNU C (ca. 4.0.1) provides __BIG_ENDIAN__/__LITTLE_ENDIAN__
|
||||
*/
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
#define FastRetCALL \
|
||||
do { \
|
||||
/* Get IVar from Returnee's IVAR offset slot(BF) */ \
|
||||
IVar = NativeAligned2FromLAddr(STK_OFFSET | GETWORD((DLword *)CURRENTFX -1)); \
|
||||
IVar = NativeAligned2FromStackOffset(GETWORD((DLword *)CURRENTFX - 1)); \
|
||||
/* Get FuncObj from Returnee's FNHEAD slot in FX */ \
|
||||
FuncObj = (struct fnhead *)NativeAligned4FromLAddr(FX_FNHEADER); \
|
||||
/* Get PC from Returnee's pc slot in FX */ \
|
||||
@@ -47,7 +47,7 @@
|
||||
#define FastRetCALL \
|
||||
do { \
|
||||
/* Get IVar from Returnee's IVAR offset slot(BF) */ \
|
||||
IVar = NativeAligned2FromLAddr(STK_OFFSET | GETWORD((DLword *)CURRENTFX -1)); \
|
||||
IVar = NativeAligned2FromStackOffset(GETWORD((DLword *)CURRENTFX - 1)); \
|
||||
/* Get FuncObj from Returnee's FNHEAD slot in FX */ \
|
||||
FuncObj = (struct fnhead *)NativeAligned4FromLAddr(FX_FNHEADER); \
|
||||
/* Get PC from Returnee's pc slot in FX */ \
|
||||
|
||||
102
inc/stack.h
102
inc/stack.h
@@ -79,22 +79,22 @@ typedef struct fnhead {
|
||||
} FNHEAD;
|
||||
|
||||
typedef struct frameex1 {
|
||||
unsigned flags : 3;
|
||||
unsigned fast : 1;
|
||||
unsigned nil2 : 1; /* not used, prev: This frame treats N-func */
|
||||
unsigned incall : 1;
|
||||
unsigned validnametable : 1;
|
||||
unsigned short flags : 3;
|
||||
unsigned short fast : 1;
|
||||
unsigned short nil2 : 1; /* not used, prev: This frame treats N-func */
|
||||
unsigned short incall : 1;
|
||||
unsigned short validnametable : 1;
|
||||
/* 0: look for FunctionHeader
|
||||
1: look for NameTable on this FrameEx */
|
||||
unsigned nopush : 1;
|
||||
unsigned usecount : 8;
|
||||
unsigned short nopush : 1;
|
||||
unsigned short usecount : 8;
|
||||
DLword alink; /* alink pointer (Low addr) */
|
||||
#ifdef BIGVM
|
||||
LispPTR fnheader; /* pointer to FunctionHeader (Hi2 addr) */
|
||||
#else
|
||||
DLword lofnheader; /* pointer to FunctionHeader (Low addr) */
|
||||
unsigned hi1fnheader : 8; /* pointer to FunctionHeader (Hi1 addr) */
|
||||
unsigned hi2fnheader : 8; /* pointer to FunctionHeader (Hi2 addr) */
|
||||
unsigned short hi1fnheader : 8; /* pointer to FunctionHeader (Hi1 addr) */
|
||||
unsigned short hi2fnheader : 8; /* pointer to FunctionHeader (Hi2 addr) */
|
||||
#endif /* BIGVM */
|
||||
DLword nextblock; /* pointer to FreeStackBlock */
|
||||
DLword pc; /* Program counter */
|
||||
@@ -102,23 +102,23 @@ typedef struct frameex1 {
|
||||
LispPTR nametable; /* ptr to NameTable of this FrameEx (Hi2 addr) */
|
||||
#else
|
||||
DLword lonametable; /* ptr to NameTable of this FrameEx (Low addr) */
|
||||
unsigned hi1nametable : 8; /* ptr to NameTable of this FrameEx (Hi1 addr) */
|
||||
unsigned hi2nametable : 8; /* ptr to NameTable of this FrameEx (Hi2 addr) */
|
||||
unsigned short hi1nametable : 8; /* ptr to NameTable of this FrameEx (Hi1 addr) */
|
||||
unsigned short hi2nametable : 8; /* ptr to NameTable of this FrameEx (Hi2 addr) */
|
||||
#endif /* BIGVM */
|
||||
DLword blink; /* blink pointer (Low addr) */
|
||||
DLword clink; /* clink pointer (Low addr) */
|
||||
} FX;
|
||||
|
||||
typedef struct frameex2 {
|
||||
unsigned flags : 3;
|
||||
unsigned fast : 1;
|
||||
unsigned nil2 : 1; /* not used, prev: This frame treats N-func */
|
||||
unsigned incall : 1;
|
||||
unsigned validnametable : 1;
|
||||
unsigned short flags : 3;
|
||||
unsigned short fast : 1;
|
||||
unsigned short nil2 : 1; /* not used, prev: This frame treats N-func */
|
||||
unsigned short incall : 1;
|
||||
unsigned short validnametable : 1;
|
||||
/* 0: look for FunctionHeader
|
||||
1: look for NameTable on this FrameEx */
|
||||
unsigned nopush : 1;
|
||||
unsigned usecount : 8;
|
||||
unsigned short nopush : 1;
|
||||
unsigned short usecount : 8;
|
||||
DLword alink; /* alink pointer (Low addr) */
|
||||
LispPTR fnheader; /* pointer to FunctionHeader */
|
||||
DLword nextblock; /* pointer to FreeStackBlock */
|
||||
@@ -135,11 +135,11 @@ typedef struct fxblock {
|
||||
} FXBLOCK;
|
||||
|
||||
typedef struct basic_frame {
|
||||
unsigned flags : 3;
|
||||
unsigned nil : 3;
|
||||
unsigned residual : 1;
|
||||
unsigned padding : 1;
|
||||
unsigned usecnt : 8;
|
||||
unsigned short flags : 3;
|
||||
unsigned short nil : 3;
|
||||
unsigned short residual : 1;
|
||||
unsigned short padding : 1;
|
||||
unsigned short usecnt : 8;
|
||||
DLword ivar; /* stk offset of IVARs for this frame ?? */
|
||||
|
||||
} Bframe;
|
||||
@@ -185,33 +185,33 @@ typedef struct fnhead {
|
||||
unsigned nil3 : 2; /* not used */
|
||||
unsigned nil2 : 2; /* not used */
|
||||
#endif /* BIGVM */
|
||||
unsigned argtype : 2; /* ?? */
|
||||
unsigned byteswapped : 1; /* code was reswapped. */
|
||||
unsigned nil4 : 1; /* not used, prev: native translated? */
|
||||
unsigned fvaroffset : 8;
|
||||
unsigned short argtype : 2; /* ?? */
|
||||
unsigned short byteswapped : 1; /* code was reswapped. */
|
||||
unsigned short nil4 : 1; /* not used, prev: native translated? */
|
||||
unsigned short fvaroffset : 8;
|
||||
/* DLword offset from head of NameTable */
|
||||
unsigned nlocals : 8; /* ?? */
|
||||
unsigned short nlocals : 8; /* ?? */
|
||||
DLword ntsize; /* size of NameTable */
|
||||
/* NameTable of variable length is following with this structure. */
|
||||
} FNHEAD;
|
||||
|
||||
typedef struct frameex1 {
|
||||
DLword alink; /* alink pointer (Low addr) */
|
||||
unsigned usecount : 8;
|
||||
unsigned nopush : 1;
|
||||
unsigned validnametable : 1;
|
||||
unsigned short usecount : 8;
|
||||
unsigned short nopush : 1;
|
||||
unsigned short validnametable : 1;
|
||||
/* 0: look for FunctionHeader
|
||||
1: look for NameTable on this FrameEx */
|
||||
unsigned incall : 1;
|
||||
unsigned nil2 : 1; /* not used, prev: This frame treats N-func */
|
||||
unsigned fast : 1;
|
||||
unsigned flags : 3; /* hi word */
|
||||
unsigned short incall : 1;
|
||||
unsigned short nil2 : 1; /* not used, prev: This frame treats N-func */
|
||||
unsigned short fast : 1;
|
||||
unsigned short flags : 3; /* hi word */
|
||||
|
||||
#ifdef BIGVM
|
||||
LispPTR fnheader; /* pointer to FunctionHeader (Hi2 addr) */
|
||||
#else
|
||||
unsigned hi2fnheader : 8; /* pointer to FunctionHeader (Hi2 addr) */
|
||||
unsigned hi1fnheader : 8; /* pointer to FunctionHeader (Hi1 addr) */
|
||||
unsigned short hi2fnheader : 8; /* pointer to FunctionHeader (Hi2 addr) */
|
||||
unsigned short hi1fnheader : 8; /* pointer to FunctionHeader (Hi1 addr) */
|
||||
DLword lofnheader; /* pointer to FunctionHeader (Low addr) */
|
||||
#endif /* BIGVM */
|
||||
|
||||
@@ -221,8 +221,8 @@ typedef struct frameex1 {
|
||||
#ifdef BIGVM
|
||||
LispPTR nametable; /* pointer to NameTable of this FX (Hi2 addr) */
|
||||
#else
|
||||
unsigned hi2nametable : 8; /* pointer to NameTable of this FX (Hi2 addr) */
|
||||
unsigned hi1nametable : 8; /* pointer to NameTable of this FX (Hi1 addr) */
|
||||
unsigned short hi2nametable : 8; /* pointer to NameTable of this FX (Hi2 addr) */
|
||||
unsigned short hi1nametable : 8; /* pointer to NameTable of this FX (Hi1 addr) */
|
||||
DLword lonametable; /* pointer to NameTable of this FX (Low addr) */
|
||||
#endif /* BIGVM */
|
||||
|
||||
@@ -232,15 +232,15 @@ typedef struct frameex1 {
|
||||
|
||||
typedef struct frameex2 {
|
||||
DLword alink; /* alink pointer (Low addr) */
|
||||
unsigned usecount : 8;
|
||||
unsigned nopush : 1;
|
||||
unsigned validnametable : 1;
|
||||
unsigned short usecount : 8;
|
||||
unsigned short nopush : 1;
|
||||
unsigned short validnametable : 1;
|
||||
/* 0: look for FunctionHeader
|
||||
1: look for NameTable on this FrameEx */
|
||||
unsigned incall : 1;
|
||||
unsigned nil2 : 1; /* not used, prev: This frame treats N-func */
|
||||
unsigned fast : 1;
|
||||
unsigned flags : 3;
|
||||
unsigned short incall : 1;
|
||||
unsigned short nil2 : 1; /* not used, prev: This frame treats N-func */
|
||||
unsigned short fast : 1;
|
||||
unsigned short flags : 3;
|
||||
|
||||
LispPTR fnheader; /* pointer to FunctionHeader (swapped) */
|
||||
|
||||
@@ -261,11 +261,11 @@ typedef struct fxblock {
|
||||
|
||||
typedef struct basic_frame {
|
||||
DLword ivar;
|
||||
unsigned usecnt : 8;
|
||||
unsigned padding : 1;
|
||||
unsigned residual : 1;
|
||||
unsigned nil : 3;
|
||||
unsigned flags : 3;
|
||||
unsigned short usecnt : 8;
|
||||
unsigned short padding : 1;
|
||||
unsigned short residual : 1;
|
||||
unsigned short nil : 3;
|
||||
unsigned short flags : 3;
|
||||
|
||||
} Bframe;
|
||||
|
||||
|
||||
@@ -1664,7 +1664,7 @@ void ccfuncall(unsigned int atom_index, int argnum, int bytenum)
|
||||
CURRENTFX->nextblock = (LAddrFromNative(CurrentStackPTR) & 0x0ffff) - (argnum << 1) + 4 /* +3 */;
|
||||
|
||||
/* Setup IVar */ /* XXX: is it really only 2-byte aligned? */
|
||||
IVar = NativeAligned2FromLAddr((((LispPTR)(CURRENTFX->nextblock)) | STK_OFFSET));
|
||||
IVar = NativeAligned2FromStackOffset(CURRENTFX->nextblock);
|
||||
|
||||
/* Set PC to the Next Instruction and save into FX */
|
||||
CURRENTFX->pc = ((UNSIGNED)PC - (UNSIGNED)FuncObj) + bytenum;
|
||||
|
||||
@@ -64,14 +64,14 @@ LispPTR Uraid_mess = NIL;
|
||||
int error(const char *cp) {
|
||||
char *ptr;
|
||||
if (device_before_raid() < 0) {
|
||||
fprintf(stderr, "Can't Enter URAID.\n");
|
||||
(void)fprintf(stderr, "Can't Enter URAID.\n");
|
||||
exit(-1);
|
||||
}
|
||||
/* comm read */
|
||||
URaid_errmess = cp;
|
||||
fprintf(stderr, "\n*Error* %s\n", cp);
|
||||
(void)fprintf(stderr, "\n*Error* %s\n", cp);
|
||||
fflush(stdin);
|
||||
fprintf(stderr, "Enter the URaid\n");
|
||||
(void)fprintf(stderr, "Enter the URaid\n");
|
||||
print(Uraid_mess);
|
||||
putchar('\n');
|
||||
/* XXX: make sure output is flushed so we can see where we are */
|
||||
|
||||
@@ -303,14 +303,14 @@ int sf(struct frameex1 *fx_addr68k) {
|
||||
if (((fx_addr68k)->alink & 1) == 0) { /* FAST */
|
||||
bf = (Bframe *)(((DLword *)fx_addr68k) - 2);
|
||||
} else { /* SLOW */
|
||||
bf = (Bframe *)NativeAligned4FromLAddr(((fx_addr68k)->blink + STK_OFFSET));
|
||||
bf = (Bframe *)NativeAligned4FromStackOffset((fx_addr68k)->blink);
|
||||
}
|
||||
|
||||
/* Print IVARs */
|
||||
printf("IVAR -------\n");
|
||||
BT_morep;
|
||||
|
||||
ptr = NativeAligned2FromLAddr(STK_OFFSET + bf->ivar);
|
||||
ptr = NativeAligned2FromStackOffset(bf->ivar);
|
||||
i = 0;
|
||||
while (ptr != (DLword *)bf) {
|
||||
ptrlo = ptr + 1;
|
||||
@@ -475,7 +475,7 @@ int sf(struct frameex1 *fx_addr68k) {
|
||||
i++;
|
||||
}
|
||||
if (fx_addr68k->alink == 11) /* for contextsw */
|
||||
next68k = (DLword *)NativeAligned2FromLAddr((fx_addr68k->nextblock + STK_OFFSET));
|
||||
next68k = NativeAligned2FromStackOffset(fx_addr68k->nextblock);
|
||||
|
||||
else
|
||||
next68k = CurrentStackPTR;
|
||||
@@ -493,7 +493,7 @@ int sf(struct frameex1 *fx_addr68k) {
|
||||
return (-1);
|
||||
}
|
||||
|
||||
next68k = (DLword *)NativeAligned2FromLAddr((fx_addr68k->nextblock + STK_OFFSET));
|
||||
next68k = NativeAligned2FromStackOffset(fx_addr68k->nextblock);
|
||||
ptr = (DLword *)(fx_addr68k + 1);
|
||||
|
||||
i = 0;
|
||||
|
||||
14
src/dlpi.c
14
src/dlpi.c
@@ -188,7 +188,7 @@ int setup_dlpi_dev(char *device)
|
||||
dlbindreq(fd, 0x0600, 0, DL_CLDLS, 0, 0);
|
||||
|
||||
if (dlbindack(fd, buf) < 0) {
|
||||
fprintf(stderr, "%s: dlbindack failed.\n", pname);
|
||||
(void)fprintf(stderr, "%s: dlbindack failed.\n", pname);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
@@ -202,14 +202,14 @@ int setup_dlpi_dev(char *device)
|
||||
dlpromisconreq(fd, DL_PROMISC_SAP);
|
||||
|
||||
if (dlokack(fd, buf) < 0) {
|
||||
fprintf(stderr, "%s: DL_PROMISC_SAP failed.\n", pname);
|
||||
(void)fprintf(stderr, "%s: DL_PROMISC_SAP failed.\n", pname);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
dlpromisconreq(fd, DL_PROMISC_MULTI);
|
||||
|
||||
if (dlokack(fd, buf) < 0) {
|
||||
fprintf(stderr, "%s: DL_PROMISC_MULTI failed.\n", pname);
|
||||
(void)fprintf(stderr, "%s: DL_PROMISC_MULTI failed.\n", pname);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
@@ -329,8 +329,8 @@ int dlpi_devtype(int fd)
|
||||
case DL_FDDI: return (DLT_FDDI);
|
||||
#endif
|
||||
default:
|
||||
fprintf(stderr, "%s: DLPI MACtype %ld unknown, ", pname, (long)dlp->info_ack.dl_mac_type);
|
||||
fprintf(stderr, "assuming ethernet.\n");
|
||||
(void)fprintf(stderr, "%s: DLPI MACtype %ld unknown, ", pname, (long)dlp->info_ack.dl_mac_type);
|
||||
(void)fprintf(stderr, "assuming ethernet.\n");
|
||||
return (DLT_EN10MB);
|
||||
}
|
||||
}
|
||||
@@ -585,7 +585,7 @@ static int strgetmsg(int fd, struct strbuf *ctlp, struct strbuf *datap, int *fla
|
||||
/*
|
||||
* sigalrm - handle alarms.
|
||||
*/
|
||||
static void sigalrm(int sig) { (void)fprintf(stderr, "dlpi: timeout\n"); }
|
||||
static void sigalrm(int sig) { (void)(void)fprintf(stderr, "dlpi: timeout\n"); }
|
||||
|
||||
/*
|
||||
* savestr - save string in dynamic memory.
|
||||
@@ -595,7 +595,7 @@ static char *savestr(char *s)
|
||||
char *t;
|
||||
|
||||
if ((t = malloc(strlen(s) + 1)) == NULL) {
|
||||
(void)fprintf(stderr, "%s: out of memory.\n", pname);
|
||||
(void)(void)fprintf(stderr, "%s: out of memory.\n", pname);
|
||||
(void)exit(1);
|
||||
}
|
||||
|
||||
|
||||
40
src/dsk.c
40
src/dsk.c
@@ -3053,10 +3053,8 @@ static int get_version_array(char *dir, char *file, FileName *varray, CurrentVAr
|
||||
FileName *svarray;
|
||||
DIR *dirp;
|
||||
struct dirent *dp;
|
||||
/* Used in commented out code below:
|
||||
int rval;
|
||||
struct stat sbuf;
|
||||
*/
|
||||
|
||||
/*
|
||||
* First of all, prepare a lower cased file name for the case insensitive
|
||||
@@ -3066,20 +3064,14 @@ static int get_version_array(char *dir, char *file, FileName *varray, CurrentVAr
|
||||
separate_version(lcased_file, ver, 1);
|
||||
DOWNCASE(lcased_file);
|
||||
|
||||
/*
|
||||
TIMEOUT(rval = stat(dir, &sbuf));
|
||||
if (rval == -1) {
|
||||
*Lisp_errno = errno;
|
||||
return(0);
|
||||
}
|
||||
*/
|
||||
TIMEOUT(rval = stat(dir, &sbuf));
|
||||
if (rval == -1) {
|
||||
*Lisp_errno = errno;
|
||||
return(0);
|
||||
}
|
||||
|
||||
/*
|
||||
* If the cached version array is still valid, we can return immediately.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Cache mechanism is not used now, because of the bug of Sun OS.
|
||||
* Cache mechanism was not used because of a bug in Sun OS.
|
||||
* Sometimes just after unlinking a file on a directory, the st_mtime
|
||||
* of the directory does not change. This will make Maiko believe
|
||||
* cached version array is still valid, although it is already invalid.
|
||||
@@ -3087,9 +3079,15 @@ static int get_version_array(char *dir, char *file, FileName *varray, CurrentVAr
|
||||
*/
|
||||
|
||||
/*
|
||||
if ((sbuf.st_mtime == cache->mtime) && strcmp(dir, cache->path) == 0
|
||||
&& strcmp(lcased_file, cache->file) == 0) return(1);
|
||||
*/
|
||||
* If the cached version array is still valid, we can return immediately.
|
||||
*/
|
||||
|
||||
#if 0
|
||||
/* there is a (different?) problem (#1661) with the caching - disable until it's solved */
|
||||
if ((sbuf.st_mtime == cache->mtime) && strcmp(dir, cache->path) == 0
|
||||
&& strcmp(lcased_file, cache->file) == 0) return(1);
|
||||
#endif
|
||||
|
||||
errno = 0;
|
||||
TIMEOUT0(dirp = opendir(dir));
|
||||
if (dirp == NULL) {
|
||||
@@ -3140,11 +3138,9 @@ static int get_version_array(char *dir, char *file, FileName *varray, CurrentVAr
|
||||
/*
|
||||
* Update cache information.
|
||||
*/
|
||||
/*
|
||||
strcpy(cache->path, dir);
|
||||
strcpy(cache->file, lcased_file);
|
||||
cache->mtime = sbuf.st_mtime;
|
||||
*/
|
||||
strcpy(cache->path, dir);
|
||||
strcpy(cache->file, lcased_file);
|
||||
cache->mtime = sbuf.st_mtime;
|
||||
TIMEOUT(closedir(dirp));
|
||||
return (1);
|
||||
#endif /* DOS */
|
||||
|
||||
@@ -59,8 +59,8 @@ void make_dsp_instance(DspInterface dsp, char *lispbitmap, int width_hint, int h
|
||||
} else if (VGA_p()) {
|
||||
VGA_init(dsp, 0, 0, 0, depth_hint);
|
||||
} else { /* Can't set *ANY* video mode! */
|
||||
(void)fprintf(stderr, "No portable graphics mode supported by this host.\n");
|
||||
(void)fprintf(stderr, "\n-Expected VESA or VGA.\n");
|
||||
(void)(void)fprintf(stderr, "No portable graphics mode supported by this host.\n");
|
||||
(void)(void)fprintf(stderr, "\n-Expected VESA or VGA.\n");
|
||||
exit(1);
|
||||
}
|
||||
break;
|
||||
@@ -69,7 +69,7 @@ void make_dsp_instance(DspInterface dsp, char *lispbitmap, int width_hint, int h
|
||||
#elif XWINDOW
|
||||
/* lispbitmap is 0 when we call X_init the first time. */
|
||||
if (X_init(dsp, 0, LispDisplayRequestedWidth, LispDisplayRequestedHeight, depth_hint) == NULL) {
|
||||
fprintf(stderr, "Can't open display.");
|
||||
(void)fprintf(stderr, "Can't open display.");
|
||||
exit(-1);
|
||||
}
|
||||
#endif /* DOS | XWINDOW */
|
||||
@@ -87,7 +87,7 @@ void GenericReturnVoid(void *d) {(void)d; return; }
|
||||
void GenericPanic(void *d) {
|
||||
(void)d;
|
||||
TPRINT(("Enter GenericPanic\n"));
|
||||
fprintf(stderr, "Panic! Call to uninitialized display slot!");
|
||||
(void)fprintf(stderr, "Panic! Call to uninitialized display slot!");
|
||||
exit(0);
|
||||
}
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ LispPTR N_OP_findkey(LispPTR tos, int byte) {
|
||||
#endif
|
||||
|
||||
if (CURRENTFX->alink & 1) { /* slow case */
|
||||
find_end = (DLword *)NativeAligned2FromLAddr(STK_OFFSET | (CURRENTFX->blink - 4));
|
||||
find_end = NativeAligned2FromStackOffset(CURRENTFX->blink - 4);
|
||||
} else { /* Fast cae */
|
||||
find_end = ((DLword *)CURRENTFX) - 2 - 4;
|
||||
}
|
||||
|
||||
29
src/inet.c
29
src/inet.c
@@ -107,8 +107,14 @@ LispPTR subr_TCP_ops(int op, LispPTR nameConn, LispPTR proto, LispPTR length, Li
|
||||
addr_class = LispNumToCInt(nameConn);
|
||||
protocol = LispNumToCInt(proto);
|
||||
result = socket(addr_class, protocol, 0);
|
||||
#ifndef MAIKO_OS_HAIKU
|
||||
fcntl(result, F_SETFL, fcntl(result, F_GETFL, 0) | O_ASYNC | O_NONBLOCK);
|
||||
#else
|
||||
fcntl(result, F_SETFL, fcntl(result, F_GETFL, 0) | O_NONBLOCK);
|
||||
#endif
|
||||
#ifdef F_SETOWN
|
||||
fcntl(result, F_SETOWN, getpid());
|
||||
#endif
|
||||
|
||||
return (GetSmallp(result));
|
||||
case TCPconnect: /* args: hostname or (fixp)address, socket# */
|
||||
@@ -131,7 +137,9 @@ LispPTR subr_TCP_ops(int op, LispPTR nameConn, LispPTR proto, LispPTR length, Li
|
||||
return (NIL);
|
||||
}
|
||||
fcntl(result, F_SETFL, fcntl(result, F_GETFL, 0) | O_NONBLOCK);
|
||||
#ifdef F_SETOWN
|
||||
fcntl(result, F_SETOWN, getpid());
|
||||
#endif
|
||||
|
||||
return (GetSmallp(result));
|
||||
|
||||
@@ -197,13 +205,20 @@ LispPTR subr_TCP_ops(int op, LispPTR nameConn, LispPTR proto, LispPTR length, Li
|
||||
sigset_t signals;
|
||||
|
||||
sigemptyset(&signals);
|
||||
#ifndef MAIKO_OS_HAIKU
|
||||
sigaddset(&signals, SIGIO);
|
||||
|
||||
#endif
|
||||
sigprocmask(SIG_BLOCK, &signals, NULL);
|
||||
|
||||
#ifndef MAIKO_OS_HAIKU
|
||||
fcntl(result, F_SETFL, fcntl(result, F_GETFL, 0) | O_ASYNC | O_NONBLOCK);
|
||||
fcntl(result, F_SETOWN, getpid());
|
||||
#else
|
||||
fcntl(result, F_SETFL, fcntl(result, F_GETFL, 0) | O_NONBLOCK);
|
||||
#endif
|
||||
|
||||
#ifdef F_SETOWN
|
||||
fcntl(result, F_SETOWN, getpid());
|
||||
#endif
|
||||
if (listen(result, 5) == -1) {
|
||||
perror("TCP Listen");
|
||||
close(result);
|
||||
@@ -225,8 +240,9 @@ LispPTR subr_TCP_ops(int op, LispPTR nameConn, LispPTR proto, LispPTR length, Li
|
||||
return (NIL);
|
||||
}
|
||||
fcntl(result, F_SETFL, fcntl(result, F_GETFL, 0) | O_NONBLOCK);
|
||||
#ifdef F_SETOWN
|
||||
fcntl(result, F_SETOWN, getpid());
|
||||
|
||||
#endif
|
||||
return (GetSmallp(result));
|
||||
|
||||
case INETpeername: /* socket#, buffer for name string */
|
||||
@@ -259,9 +275,14 @@ LispPTR subr_TCP_ops(int op, LispPTR nameConn, LispPTR proto, LispPTR length, Li
|
||||
close(result);
|
||||
return (NIL);
|
||||
}
|
||||
#ifndef MAIKO_OS_HAIKU
|
||||
fcntl(result, F_SETFL, fcntl(result, F_GETFL, 0) | O_ASYNC | O_NONBLOCK);
|
||||
#else
|
||||
fcntl(result, F_SETFL, fcntl(result, F_GETFL, 0) | O_NONBLOCK);
|
||||
#endif
|
||||
#ifdef F_SETOWN
|
||||
fcntl(result, F_SETOWN, getpid());
|
||||
|
||||
#endif
|
||||
FD_SET(result, &LispIOFds); /* so we get interrupts */
|
||||
FD_SET(result, &LispReadFds);
|
||||
DBPRINT(("LispIOFds = %p\n", (void *)&LispIOFds));
|
||||
|
||||
@@ -124,7 +124,7 @@ void init_ifpage(unsigned sysout_size) {
|
||||
new_lastvmem = (sysout_size * PAGES_IN_MBYTE) - 1;
|
||||
|
||||
if ((!Storage_expanded) && (InterfacePage->dllastvmempage != new_lastvmem)) {
|
||||
fprintf(stderr, "You can't expand VMEM\n");
|
||||
(void)fprintf(stderr, "You can't expand VMEM\n");
|
||||
exit(-1);
|
||||
} else { /* Set value which will be set to \\LASTVMEMFILEPAGE in LISP */
|
||||
InterfacePage->dllastvmempage = new_lastvmem;
|
||||
@@ -140,9 +140,9 @@ void init_ifpage(unsigned sysout_size) {
|
||||
#endif /* BIGVM */
|
||||
|
||||
/* unfortunately, Lisp only looks at a 16 bit serial number */
|
||||
#ifndef DOS
|
||||
#if !defined(DOS) && !defined(MAIKO_OS_HAIKU)
|
||||
InterfacePage->serialnumber = 0xffff & gethostid();
|
||||
#endif /* DOS */
|
||||
#endif /* DOS MAIKO_OS_HAIKU */
|
||||
|
||||
/* get user name and stuff into vmem; this is the VMEM buffer;
|
||||
This is a BCPL string -- it starts with a length count. C strings
|
||||
|
||||
@@ -93,7 +93,7 @@ int main(int argc, char *argv[]) {
|
||||
for (i = 1; i < argc; i++) {
|
||||
if ((strcmp(argv[i], "-d") == 0) || (strcmp(argv[i], "-display") == 0)) {
|
||||
if (i == argc - 1) {
|
||||
fprintf(stderr, "Missing argument to -display option.\n");
|
||||
(void)fprintf(stderr, "Missing argument to -display option.\n");
|
||||
exit(1);
|
||||
}
|
||||
displayName = argv[++i];
|
||||
@@ -138,7 +138,7 @@ int main(int argc, char *argv[]) {
|
||||
filetorun = LDEX;
|
||||
goto run;
|
||||
} else {
|
||||
fprintf(stderr, "Unable to open X11 display %s\n",
|
||||
(void)fprintf(stderr, "Unable to open X11 display %s\n",
|
||||
displayName ? displayName : "from DISPLAY");
|
||||
exit(1);
|
||||
}
|
||||
@@ -147,7 +147,7 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
#ifdef USESUNSCREEN
|
||||
if ((FrameBufferFd = open("/dev/fb", O_RDWR)) < 0) {
|
||||
fprintf(stderr, "lde: can't open FrameBuffer\n");
|
||||
(void)fprintf(stderr, "lde: can't open FrameBuffer\n");
|
||||
exit(1);
|
||||
}
|
||||
if (ioctl(FrameBufferFd, FBIOGTYPE, &my_screen) < 0) {
|
||||
@@ -187,7 +187,7 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
run:
|
||||
if (filetorun == NULL) {
|
||||
fprintf(stderr, "Unable to determine what display program to run.\n");
|
||||
(void)fprintf(stderr, "Unable to determine what display program to run.\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
@@ -201,6 +201,7 @@ int main(int argc, char *argv[]) {
|
||||
} else {
|
||||
/* copy up to and including the final "/" in the path */
|
||||
dirsepp = stpncpy(filetorunpath, argv[0], dirsepp + 1 - argv[0]);
|
||||
|
||||
/* dirsepp now points to the trailing null in the copy */
|
||||
strncpy(dirsepp, filetorun, PATH_MAX - (dirsepp - filetorunpath));
|
||||
argv[0] = filetorunpath;
|
||||
|
||||
16
src/ldsout.c
16
src/ldsout.c
@@ -121,14 +121,14 @@ unsigned sysout_loader(const char *sysout_file_name, unsigned sys_size) {
|
||||
*/
|
||||
#ifndef NOVERSION
|
||||
if (ifpage.lversion < LVERSION) {
|
||||
fprintf(stderr, "Lisp VM is too old for this emulator.\n");
|
||||
fprintf(stderr, "(version is %d, must be at least %d.)\n", ifpage.lversion, LVERSION);
|
||||
(void)fprintf(stderr, "Lisp VM is too old for this emulator.\n");
|
||||
(void)fprintf(stderr, "(version is %d, must be at least %d.)\n", ifpage.lversion, LVERSION);
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
if (ifpage.minbversion > MINBVERSION) {
|
||||
fprintf(stderr, "Emulator is too old for this Lisp VM.\n");
|
||||
fprintf(stderr, "(version is %d, must be at least %d.)\n", MINBVERSION, ifpage.minbversion);
|
||||
(void)fprintf(stderr, "Emulator is too old for this Lisp VM.\n");
|
||||
(void)fprintf(stderr, "(version is %d, must be at least %d.)\n", MINBVERSION, ifpage.minbversion);
|
||||
exit(-1);
|
||||
}
|
||||
#endif /* NOVERSION */
|
||||
@@ -157,9 +157,9 @@ unsigned sysout_loader(const char *sysout_file_name, unsigned sys_size) {
|
||||
/* Hence we have to observe the display protocol. */
|
||||
VESA_errorexit(tmp);
|
||||
#else
|
||||
fprintf(stderr, "sysout_loader: You can't specify the process size.\n");
|
||||
fprintf(stderr, "Because, secondary space is already used.\n");
|
||||
fprintf(stderr, "(size is %d, you specified %d.)\n", ifpage.process_size, sys_size);
|
||||
(void)fprintf(stderr, "sysout_loader: You can't specify the process size.\n");
|
||||
(void)fprintf(stderr, "Because, secondary space is already used.\n");
|
||||
(void)fprintf(stderr, "(size is %d, you specified %d.)\n", ifpage.process_size, sys_size);
|
||||
exit(-1);
|
||||
#endif /* DOS */
|
||||
}
|
||||
@@ -176,7 +176,7 @@ unsigned sysout_loader(const char *sysout_file_name, unsigned sys_size) {
|
||||
|
||||
lispworld_scratch = mmap(0, sys_size * MBYTE, PROT_READ|PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0);
|
||||
if (lispworld_scratch == MAP_FAILED) {
|
||||
fprintf(stderr, "sysout_loader: can't allocate Lisp %dMBytes VM \n", sys_size);
|
||||
(void)fprintf(stderr, "sysout_loader: can't allocate Lisp %dMBytes VM \n", sys_size);
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
#include "gcarraydefs.h" // for get_package_atom
|
||||
#include "gcdata.h" // for FRPLPTR
|
||||
#include "lispemul.h" // for LispPTR, state, CurrentStackPTR, NIL_PTR, NIL
|
||||
#include "lispmap.h" // for S_POSITIVE, STK_OFFSET
|
||||
#include "lispmap.h" // for S_POSITIVE
|
||||
#include "loopsopsdefs.h" // for lcfuncall, LCFetchMethod, LCFetchMethodOrHelp
|
||||
#include "lspglob.h"
|
||||
#include "lsptypes.h" // for GetDTD, GetTypeNumber, dtd, Listp, GETWORD
|
||||
@@ -358,7 +358,7 @@ LispPTR lcfuncall(unsigned int atom_index, int argnum, int bytenum)
|
||||
CURRENTFX->nextblock = (LAddrFromNative(CurrentStackPTR) & 0x0ffff) - (argnum << 1) + 4 /* +3 */;
|
||||
|
||||
/* Setup IVar */
|
||||
IVar = NativeAligned2FromLAddr((((LispPTR)(CURRENTFX->nextblock)) | STK_OFFSET));
|
||||
IVar = NativeAligned2FromStackOffset(CURRENTFX->nextblock);
|
||||
|
||||
/* Set PC to the Next Instruction and save into FX */
|
||||
CURRENTFX->pc = ((UNSIGNED)PC - (UNSIGNED)FuncObj) + bytenum;
|
||||
|
||||
58
src/main.c
58
src/main.c
@@ -364,7 +364,7 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
if (argv[i] && ((strcmp(argv[i], "-help") == 0) || (strcmp(argv[i], "-HELP") == 0))) {
|
||||
fprintf(stderr, "%s%s", helpstring, nethubHelpstring);
|
||||
(void)fprintf(stderr, "%s%s", helpstring, nethubHelpstring);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
@@ -387,7 +387,7 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
if (access(sysout_name, R_OK)) {
|
||||
perror("Couldn't find a sysout to run");
|
||||
fprintf(stderr, "%s%s", helpstring, nethubHelpstring);
|
||||
(void)fprintf(stderr, "%s%s", helpstring, nethubHelpstring);
|
||||
exit(1);
|
||||
}
|
||||
/* OK, sysout name is now in sysout_name, and i is moved past a supplied name */
|
||||
@@ -403,11 +403,11 @@ int main(int argc, char *argv[])
|
||||
if (errno == 0 && tmpint > 0) {
|
||||
TIMER_INTERVAL = tmpint;
|
||||
} else {
|
||||
fprintf(stderr, "Bad value for -t (integer > 0)\n");
|
||||
(void)fprintf(stderr, "Bad value for -t (integer > 0)\n");
|
||||
exit(1);
|
||||
}
|
||||
} else {
|
||||
fprintf(stderr, "Missing argument after -t\n");
|
||||
(void)fprintf(stderr, "Missing argument after -t\n");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
@@ -419,11 +419,11 @@ int main(int argc, char *argv[])
|
||||
if (errno == 0 && tmpint > 0) {
|
||||
sysout_size = (unsigned)tmpint;
|
||||
} else {
|
||||
fprintf(stderr, "Bad value for -m (integer > 0)\n");
|
||||
(void)fprintf(stderr, "Bad value for -m (integer > 0)\n");
|
||||
exit(1);
|
||||
}
|
||||
} else {
|
||||
fprintf(stderr, "Missing argument after -m\n");
|
||||
(void)fprintf(stderr, "Missing argument after -m\n");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
@@ -462,22 +462,22 @@ int main(int argc, char *argv[])
|
||||
if (argc > ++i) {
|
||||
int read = sscanf(argv[i], "%dx%d", &width, &height);
|
||||
if(read != 2) {
|
||||
fprintf(stderr, "Could not parse -sc argument %s\n", argv[i]);
|
||||
(void)fprintf(stderr, "Could not parse -sc argument %s\n", argv[i]);
|
||||
exit(1);
|
||||
}
|
||||
} else {
|
||||
fprintf(stderr, "Missing argument after -sc\n");
|
||||
(void)fprintf(stderr, "Missing argument after -sc\n");
|
||||
exit(1);
|
||||
}
|
||||
} else if ((strcmp(argv[i], "-pixelscale") == 0) || (strcmp(argv[i], "-PIXELSCALE") == 0)) {
|
||||
if (argc > ++i) {
|
||||
int read = sscanf(argv[i], "%d", &pixelscale);
|
||||
if(read != 1) {
|
||||
fprintf(stderr, "Could not parse -pixelscale argument %s\n", argv[i]);
|
||||
(void)fprintf(stderr, "Could not parse -pixelscale argument %s\n", argv[i]);
|
||||
exit(1);
|
||||
}
|
||||
} else {
|
||||
fprintf(stderr, "Missing argument after -pixelscale\n");
|
||||
(void)fprintf(stderr, "Missing argument after -pixelscale\n");
|
||||
exit(1);
|
||||
}
|
||||
} else if ((strcmp(argv[i], "-t") == 0) || (strcmp(argv[i], "-T") == 0)
|
||||
@@ -485,7 +485,7 @@ int main(int argc, char *argv[])
|
||||
if (argc > ++i) {
|
||||
windowtitle = argv[i];
|
||||
} else {
|
||||
fprintf(stderr, "Missing argument after -title\n");
|
||||
(void)fprintf(stderr, "Missing argument after -title\n");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
@@ -511,7 +511,7 @@ int main(int argc, char *argv[])
|
||||
ether_host[4] = b4;
|
||||
ether_host[5] = b5;
|
||||
} else {
|
||||
fprintf(stderr, "Missing or bogus -E argument\n");
|
||||
(void)fprintf(stderr, "Missing or bogus -E argument\n");
|
||||
ether_fd = -1;
|
||||
exit(1);
|
||||
}
|
||||
@@ -524,7 +524,7 @@ int main(int argc, char *argv[])
|
||||
if (argc > ++i) {
|
||||
setNethubHost(argv[i]);
|
||||
} else {
|
||||
fprintf(stderr, "Missing argument after -nh-host\n");
|
||||
(void)fprintf(stderr, "Missing argument after -nh-host\n");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
@@ -535,11 +535,11 @@ int main(int argc, char *argv[])
|
||||
if (errno == 0 && tmpint > 0) {
|
||||
setNethubPort(tmpint);
|
||||
} else {
|
||||
fprintf(stderr, "Bad value for -nh-port\n");
|
||||
(void)fprintf(stderr, "Bad value for -nh-port\n");
|
||||
exit(1);
|
||||
}
|
||||
} else {
|
||||
fprintf(stderr, "Missing argument after -nh-port\n");
|
||||
(void)fprintf(stderr, "Missing argument after -nh-port\n");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
@@ -549,11 +549,11 @@ int main(int argc, char *argv[])
|
||||
if (sscanf(argv[i], "%x-%x-%x-%x-%x-%x", &b0, &b1, &b2, &b3, &b4, &b5) == 6) {
|
||||
setNethubMac(b0, b1, b2, b3, b4, b5);
|
||||
} else {
|
||||
fprintf(stderr, "Invalid argument for -nh-mac\n");
|
||||
(void)fprintf(stderr, "Invalid argument for -nh-mac\n");
|
||||
exit(1);
|
||||
}
|
||||
} else {
|
||||
fprintf(stderr, "Missing argument after -nh-mac\n");
|
||||
(void)fprintf(stderr, "Missing argument after -nh-mac\n");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
@@ -564,11 +564,11 @@ int main(int argc, char *argv[])
|
||||
if (errno == 0 && tmpint >= 0) {
|
||||
setNethubLogLevel(tmpint);
|
||||
} else {
|
||||
fprintf(stderr, "Bad value for -nh-loglevel\n");
|
||||
(void)fprintf(stderr, "Bad value for -nh-loglevel\n");
|
||||
exit(1);
|
||||
}
|
||||
} else {
|
||||
fprintf(stderr, "Missing argument after -nh-loglevel\n");
|
||||
(void)fprintf(stderr, "Missing argument after -nh-loglevel\n");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
@@ -582,11 +582,11 @@ int main(int argc, char *argv[])
|
||||
if (errno == 0 && tmpint > 1000) {
|
||||
insnsCountdownForTimerAsyncEmulation = tmpint;
|
||||
} else {
|
||||
fprintf(stderr, "Bad value for -intr-emu-insns (integer > 1000)\n");
|
||||
(void)fprintf(stderr, "Bad value for -intr-emu-insns (integer > 1000)\n");
|
||||
exit(1);
|
||||
}
|
||||
} else {
|
||||
fprintf(stderr, "Missing argument after -intr-emu-insns\n");
|
||||
(void)fprintf(stderr, "Missing argument after -intr-emu-insns\n");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
@@ -600,11 +600,11 @@ int main(int argc, char *argv[])
|
||||
if (errno == 0 && tmpint > 0) {
|
||||
maxpages = (unsigned)tmpint;
|
||||
} else {
|
||||
fprintf(stderr, "Bad value for -xpages (integer > 0)\n");
|
||||
(void)fprintf(stderr, "Bad value for -xpages (integer > 0)\n");
|
||||
exit(1);
|
||||
}
|
||||
} else {
|
||||
fprintf(stderr, "Missing argument after -xpages\n");
|
||||
(void)fprintf(stderr, "Missing argument after -xpages\n");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
@@ -615,9 +615,9 @@ int main(int argc, char *argv[])
|
||||
probemouse(); /* See if the mouse is connected. */
|
||||
#else
|
||||
if (getuid() != geteuid()) {
|
||||
fprintf(stderr, "Effective user is not real user. Resetting uid\n");
|
||||
(void)fprintf(stderr, "Effective user is not real user. Resetting uid\n");
|
||||
if (setuid(getuid()) == -1) {
|
||||
fprintf(stderr, "Unable to reset user id to real user id\n");
|
||||
(void)fprintf(stderr, "Unable to reset user id to real user id\n");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
@@ -641,7 +641,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
if (FindUnixPipes()) /* must call the routine to allocate storage, */
|
||||
{ /* in case we're re-starting a savevm w/open ptys */
|
||||
if (please_fork) fprintf(stderr, "Failed to find UNIXCOMM file handles; no processes\n");
|
||||
if (please_fork) (void)fprintf(stderr, "Failed to find UNIXCOMM file handles; no processes\n");
|
||||
}
|
||||
#endif /* DOS */
|
||||
|
||||
@@ -665,7 +665,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
/* file system directory enumeration stuff */
|
||||
if (!init_finfo()) {
|
||||
fprintf(stderr, "Cannot allocate internal data.\n");
|
||||
(void)fprintf(stderr, "Cannot allocate internal data.\n");
|
||||
exit(1);
|
||||
}
|
||||
#ifdef RS232
|
||||
@@ -727,9 +727,9 @@ void start_lisp(void) {
|
||||
TopOfStack = 0;
|
||||
Error_Exit = 0;
|
||||
|
||||
PVar = (DLword *)NativeAligned2FromLAddr(STK_OFFSET | InterfacePage->currentfxp) + FRAMESIZE;
|
||||
PVar = NativeAligned2FromStackOffset(InterfacePage->currentfxp) + FRAMESIZE;
|
||||
|
||||
freeptr = next68k = NativeAligned2FromLAddr(STK_OFFSET | CURRENTFX->nextblock);
|
||||
freeptr = next68k = NativeAligned2FromStackOffset(CURRENTFX->nextblock);
|
||||
|
||||
if (GETWORD(next68k) != STK_FSB_WORD) error("Starting Lisp: Next stack block isn't free!");
|
||||
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
/************************************************************************/
|
||||
|
||||
void perrorn(char *s, int n) {
|
||||
if (s != NULL && *s != '\0') { fprintf(stderr, "%s: ", s); }
|
||||
fprintf(stderr, "%s\n", strerror(n));
|
||||
if (s != NULL && *s != '\0') { (void)fprintf(stderr, "%s: ", s); }
|
||||
(void)fprintf(stderr, "%s\n", strerror(n));
|
||||
}
|
||||
|
||||
/************************************************************************/
|
||||
@@ -42,7 +42,7 @@ void err_mess(char *from, int no) {
|
||||
int save_errno = errno; /* Save errno around OSMESSAGE_PRINT */
|
||||
|
||||
OSMESSAGE_PRINT({
|
||||
fprintf(stderr, "System call error: %s errno=%d ", from, no);
|
||||
(void)fprintf(stderr, "System call error: %s errno=%d ", from, no);
|
||||
perror("");
|
||||
});
|
||||
|
||||
|
||||
@@ -37,9 +37,11 @@
|
||||
|
||||
#include "gcarraydefs.h"
|
||||
#include "testtooldefs.h"
|
||||
#include "lineblt8defs.h"
|
||||
#include "lsthandldefs.h"
|
||||
#include "car-cdrdefs.h"
|
||||
#include "keyeventdefs.h"
|
||||
#include "rawcolordefs.h"
|
||||
|
||||
#define IMIN(x, y) (((x) > (y)) ? (y) : (x))
|
||||
#define IMAX(x, y) (((x) > (y)) ? (x) : (y))
|
||||
@@ -72,6 +74,15 @@ LispPTR SLOWBLTCHAR_index;
|
||||
return; \
|
||||
}
|
||||
|
||||
static void ColorizeFont8(BITMAP *sBM, DLword sXOffset, DLword sYOffset,
|
||||
BITMAP *dBM, DLword dXOffset, DLword dYOffset,
|
||||
DLword width, DLword height, u_char col0, u_char col1,
|
||||
LispPTR sourcetype, LispPTR operation);
|
||||
static void ColorizeFont8_BIGBM(BITMAP *sBM, DLword sXOffset, DLword sYOffset,
|
||||
BIGBM *dBM, DLword dXOffset, DLword dYOffset,
|
||||
DLword width, DLword height, u_char col0, u_char col1,
|
||||
LispPTR sourcetype, LispPTR operation);
|
||||
|
||||
/***********************************************************/
|
||||
/*
|
||||
C_slowbltchar
|
||||
@@ -302,7 +313,7 @@ void C_slowbltchar(LispPTR *args)
|
||||
|
||||
u_int ColorizedFont8CACHE[MAXFONTHEIGHT / BITSPERNIBBLE * MAXFONTWIDTH / BITSPERNIBBLE];
|
||||
|
||||
void ColorizeFont8(BITMAP *sBM, DLword sXOffset, DLword sYOffset, BITMAP *dBM, DLword dXOffset, DLword dYOffset, DLword width, DLword height, u_char col0, u_char col1,
|
||||
static void ColorizeFont8(BITMAP *sBM, DLword sXOffset, DLword sYOffset, BITMAP *dBM, DLword dXOffset, DLword dYOffset, DLword width, DLword height, u_char col0, u_char col1,
|
||||
LispPTR sourcetype, LispPTR operation)
|
||||
{
|
||||
DLword *nbase;
|
||||
@@ -312,10 +323,10 @@ void ColorizeFont8(BITMAP *sBM, DLword sXOffset, DLword sYOffset, BITMAP *dBM, D
|
||||
sYOffset = sBM->bmheight - (sYOffset + height);
|
||||
dYOffset = dBM->bmheight - (dYOffset + height);
|
||||
|
||||
nbase = (DLword *)NativeAligned2FromLAddr(sBM->bmbase) + (sBM->bmrasterwidth * sYOffset);
|
||||
(DLword *)dbase = (DLword *)NativeAligned2FromLAddr(dBM->bmbase) + (dBM->bmrasterwidth * dYOffset);
|
||||
nbase = NativeAligned2FromLAddr(sBM->bmbase) + (sBM->bmrasterwidth * sYOffset);
|
||||
dbase = (u_char *)NativeAligned2FromLAddr(dBM->bmbase) + (dBM->bmrasterwidth * dYOffset);
|
||||
for (i = 0, dbase += dXOffset; /* 8bpp */
|
||||
i < height; i++, nbase += sBM->bmrasterwidth, ((DLword *)dbase) += dBM->bmrasterwidth) {
|
||||
i < height; i++, nbase += sBM->bmrasterwidth, dbase += dBM->bmrasterwidth * BYTESPER_DLWORD) {
|
||||
lineBlt8(nbase, (int)sXOffset, dbase, (int)width, col0, col1, sourcetype, operation);
|
||||
} /* for end */
|
||||
|
||||
@@ -332,7 +343,7 @@ void ColorizeFont8(BITMAP *sBM, DLword sXOffset, DLword sYOffset, BITMAP *dBM, D
|
||||
/* */
|
||||
/************************************************************************/
|
||||
|
||||
void ColorizeFont8_BIGBM(BITMAP *sBM, DLword sXOffset, DLword sYOffset, BIGBM *dBM, DLword dXOffset, DLword dYOffset, DLword width, DLword height, u_char col0, u_char col1,
|
||||
static void ColorizeFont8_BIGBM(BITMAP *sBM, DLword sXOffset, DLword sYOffset, BIGBM *dBM, DLword dXOffset, DLword dYOffset, DLword width, DLword height, u_char col0, u_char col1,
|
||||
LispPTR sourcetype, LispPTR operation)
|
||||
{
|
||||
DLword *nbase;
|
||||
@@ -375,14 +386,13 @@ loop:
|
||||
dest_h = dest_fragbottom - (dest_fragtop + dest_yoffset);
|
||||
} /* end if */
|
||||
|
||||
dbase =
|
||||
(DLword *)NativeAligned2FromLAddr(dest_frag->bmbase) + (dest_frag->bmrasterwidth * dest_yoffset);
|
||||
nbase = (DLword *)NativeAligned2FromLAddr(sBM->bmbase) + (sBM->bmrasterwidth * sYOffset);
|
||||
dbase = (u_char *)NativeAligned2FromLAddr(dest_frag->bmbase) + (dest_frag->bmrasterwidth * dest_yoffset);
|
||||
nbase = NativeAligned2FromLAddr(sBM->bmbase) + (sBM->bmrasterwidth * sYOffset);
|
||||
|
||||
sYOffset += (DLword)dest_h; /* next src yoffset */
|
||||
|
||||
for (i = 0, dbase += dXOffset; i < dest_h;
|
||||
i++, nbase += sBM->bmrasterwidth, ((DLword *)dbase) += dest_frag->bmrasterwidth) {
|
||||
i++, nbase += sBM->bmrasterwidth, dbase += dest_frag->bmrasterwidth * BYTESPER_DLWORD) {
|
||||
lineBlt8(nbase, (int)sXOffset, dbase, (int)width, col0, col1, sourcetype, operation);
|
||||
}
|
||||
|
||||
@@ -415,8 +425,8 @@ void newColorizeFont8(PILOTBBT *pbt, u_char backcolor, u_char forecolor, LispPTR
|
||||
u_char *dbase;
|
||||
int i;
|
||||
|
||||
nbase = (DLword *)NativeAligned2FromLAddr((pbt->pbtsourcehi << 16) | (pbt->pbtsourcelo));
|
||||
(DLword *)dbase = (DLword *)NativeAligned2FromLAddr((pbt->pbtdesthi << 16) | (pbt->pbtdestlo));
|
||||
nbase = NativeAligned2FromLAddr((pbt->pbtsourcehi << 16) | (pbt->pbtsourcelo));
|
||||
dbase = (u_char *)NativeAligned2FromLAddr((pbt->pbtdesthi << 16) | (pbt->pbtdestlo));
|
||||
dbase += pbt->pbtdestbit;
|
||||
for (i = 0; i < pbt->pbtheight;
|
||||
i++, nbase += pbt->pbtsourcebpl / 16, dbase += pbt->pbtdestbpl / 8) {
|
||||
@@ -494,7 +504,7 @@ void Uncolorize_Bitmap(LispPTR args[])
|
||||
|
||||
if ((x & 0xF) != 0) *(d_base++) = word;
|
||||
|
||||
if (y != (s_height - 1)) { (DLword *)s_base += s_rasterwidth; } /* end if( y ) */
|
||||
if (y != (s_height - 1)) { s_base += s_rasterwidth * BYTESPER_DLWORD; } /* end if( y ) */
|
||||
|
||||
} /* end for( y ) */
|
||||
|
||||
@@ -532,11 +542,11 @@ LispPTR Colorize_Bitmap(LispPTR args[])
|
||||
|
||||
s_base = (DLword *)NativeAligned2FromLAddr(s_bitmap->bmbase) +
|
||||
s_bitmap->bmrasterwidth * (s_bitmap->bmheight - (s_bottom + height));
|
||||
(DLword *)d_base = (DLword *)NativeAligned2FromLAddr(d_bitmap->bmbase) +
|
||||
d_base = (u_char *)NativeAligned2FromLAddr(d_bitmap->bmbase) +
|
||||
d_bitmap->bmrasterwidth * (d_bitmap->bmheight - (d_bottom + height));
|
||||
|
||||
for (i = 0, d_base += d_left; i < height;
|
||||
i++, s_base += s_bitmap->bmrasterwidth, (DLword *)d_base += d_bitmap->bmrasterwidth) {
|
||||
i++, s_base += s_bitmap->bmrasterwidth, d_base += d_bitmap->bmrasterwidth * BYTESPER_DLWORD) {
|
||||
lineBlt8(s_base, s_left, d_base, width, (u_char)color0, (u_char)color1, INPUT_atom,
|
||||
REPLACE_atom);
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@ void contextsw(DLword fxnum, DLword bytenum, DLword flags)
|
||||
|
||||
Midpunt(fxnum); /* exchanging FX */
|
||||
|
||||
next68k = (DLword *)NativeAligned2FromLAddr(STK_OFFSET | CURRENTFX->nextblock);
|
||||
next68k = NativeAligned2FromStackOffset(CURRENTFX->nextblock);
|
||||
|
||||
if (GETWORD(next68k) != STK_FSB_WORD) error("contextsw(): MP9316");
|
||||
freeptr = next68k;
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
#include "gcarraydefs.h" // for aref1
|
||||
#include "kprintdefs.h" // for print, prindatum
|
||||
#include "lispemul.h" // for DLword, LispPTR, DLbyte, state, T, ConsCell
|
||||
#include "lispmap.h" // for STK_OFFSET, ATOMS_HI
|
||||
#include "lispmap.h" // for ATOMS_HI
|
||||
#include "lspglob.h" // for Package_from_Index_word, Stackspace
|
||||
#include "lsptypes.h" // for GETWORD, dtd, GETBYTE, NEWSTRINGP, GetType...
|
||||
#include "mkatomdefs.h" // for compare_chars, make_atom
|
||||
@@ -852,7 +852,7 @@ void dump_bf(Bframe *bf) {
|
||||
|
||||
if (BFRAMEPTR(bf)->residual) { goto printflags; }
|
||||
|
||||
ptr = NativeAligned2FromLAddr(STK_OFFSET + bf->ivar);
|
||||
ptr = NativeAligned2FromStackOffset(bf->ivar);
|
||||
if ((((DLword *)bf - ptr) > 512) || (((UNSIGNED)ptr & 1) != 0)) {
|
||||
printf("\nInvalid basic frame");
|
||||
return;
|
||||
@@ -910,7 +910,7 @@ void dump_fx(struct frameex1 *fx_addr68k) {
|
||||
|
||||
/* should pay attention to the name table like RAID does */
|
||||
|
||||
next68k = (DLword *)NativeAligned2FromLAddr((fx_addr68k->nextblock + STK_OFFSET));
|
||||
next68k = NativeAligned2FromStackOffset(fx_addr68k->nextblock);
|
||||
if (fx_addr68k == CURRENTFX) { next68k = CurrentStackPTR + 2; }
|
||||
|
||||
if ((next68k < ptr) || (((UNSIGNED)next68k & 1) != 0)) {
|
||||
@@ -937,7 +937,7 @@ void dump_stackframe(struct frameex1 *fx_addr68k) {
|
||||
if ((fx_addr68k->alink & 1) == 0) { /* FAST */
|
||||
bf = (Bframe *)(((DLword *)fx_addr68k) - 2);
|
||||
} else { /* SLOW */
|
||||
bf = (Bframe *)NativeAligned4FromLAddr((fx_addr68k->blink + STK_OFFSET));
|
||||
bf = (Bframe *)NativeAligned4FromStackOffset(fx_addr68k->blink);
|
||||
}
|
||||
dump_bf(bf);
|
||||
dump_fx((struct frameex1 *)fx_addr68k);
|
||||
@@ -1104,12 +1104,12 @@ void all_stack_dump(DLword start, DLword end, DLword silent)
|
||||
if (start == 0)
|
||||
start68k = Stackspace + InterfacePage->stackbase;
|
||||
else
|
||||
start68k = NativeAligned2FromLAddr(STK_OFFSET | start);
|
||||
start68k = NativeAligned2FromStackOffset(start);
|
||||
|
||||
if (end == 0)
|
||||
end68k = Stackspace + InterfacePage->endofstack;
|
||||
else
|
||||
end68k = NativeAligned2FromLAddr(STK_OFFSET | end);
|
||||
end68k = NativeAligned2FromStackOffset(end);
|
||||
|
||||
stkptr = (STKH *)start68k;
|
||||
|
||||
@@ -1156,7 +1156,7 @@ void all_stack_dump(DLword start, DLword end, DLword silent)
|
||||
printf(" <-***current***");
|
||||
size = EndSTKP - (DLword *)stkptr;
|
||||
} else {
|
||||
size = NativeAligned2FromLAddr(STK_OFFSET | ((FX *)stkptr)->nextblock) - (DLword *)stkptr;
|
||||
size = NativeAligned2FromStackOffset(((FX *)stkptr)->nextblock) - (DLword *)stkptr;
|
||||
}
|
||||
goto checksize;
|
||||
default:
|
||||
|
||||
16
src/timer.c
16
src/timer.c
@@ -47,6 +47,10 @@ unsigned long tick_count = 0; /* approx 18 ticks per sec */
|
||||
#include <sys/time.h>
|
||||
#endif /* DOS */
|
||||
|
||||
#ifdef MAIKO_OS_HAIKU
|
||||
#include <OS.h>
|
||||
#endif
|
||||
|
||||
#if defined(USE_DLPI)
|
||||
#include <stropts.h>
|
||||
extern int ether_fd;
|
||||
@@ -301,6 +305,8 @@ void subr_settime(LispPTR args[])
|
||||
dosday.year = uxtime.tm_year;
|
||||
dosday.dayofweek = uxtime.tm_wday;
|
||||
_dos_setdate(&dosday);
|
||||
#elif defined(MAIKO_OS_HAIKU)
|
||||
(void)args[0];
|
||||
#elif defined(MAIKO_OS_EMSCRIPTEN)
|
||||
(void)args[0];
|
||||
#else
|
||||
@@ -556,17 +562,19 @@ static void int_io_service(int sig)
|
||||
/************************************************************************/
|
||||
|
||||
static void int_io_init(void) {
|
||||
#ifndef DOS
|
||||
#if !defined(DOS) || !defined(MAIKO_OS_HAIKU)
|
||||
struct sigaction io_action;
|
||||
io_action.sa_handler = int_io_service;
|
||||
sigemptyset(&io_action.sa_mask);
|
||||
io_action.sa_flags = 0;
|
||||
|
||||
#ifndef MAIKO_OS_HAIKU
|
||||
if (sigaction(SIGIO, &io_action, NULL) == -1) {
|
||||
perror("sigaction: SIGIO");
|
||||
} else {
|
||||
DBPRINT(("I/O interrupts enabled\n"));
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(USE_DLPI)
|
||||
DBPRINT(("INIT ETHER: Doing I_SETSIG.\n"));
|
||||
@@ -578,7 +586,7 @@ static void int_io_init(void) {
|
||||
return;
|
||||
}
|
||||
#endif /* USE_DLPI */
|
||||
#endif /* DOS */
|
||||
#endif /* DOS MAIKO_OS_HAIKU */
|
||||
}
|
||||
|
||||
/************************************************************************/
|
||||
@@ -600,7 +608,9 @@ void int_block(void) {
|
||||
sigset_t signals;
|
||||
sigemptyset(&signals);
|
||||
sigaddset(&signals, SIGVTALRM);
|
||||
#ifndef MAIKO_OS_HAIKU
|
||||
sigaddset(&signals, SIGIO);
|
||||
#endif
|
||||
sigaddset(&signals, SIGALRM);
|
||||
sigaddset(&signals, SIGXFSZ);
|
||||
#ifdef FLTINT
|
||||
@@ -628,7 +638,9 @@ void int_unblock(void) {
|
||||
sigset_t signals;
|
||||
sigemptyset(&signals);
|
||||
sigaddset(&signals, SIGVTALRM);
|
||||
#ifndef MAIKO_OS_HAIKU
|
||||
sigaddset(&signals, SIGIO);
|
||||
#endif
|
||||
sigaddset(&signals, SIGALRM);
|
||||
sigaddset(&signals, SIGXFSZ);
|
||||
#ifdef FLTINT
|
||||
|
||||
@@ -73,7 +73,7 @@ void check_sysout(char *sysout_file_name, int verbose) {
|
||||
}
|
||||
|
||||
void usage(char *prog) {
|
||||
fprintf(stderr, "Usage: %s [-v] sysout-filename\n", prog);
|
||||
(void)fprintf(stderr, "Usage: %s [-v] sysout-filename\n", prog);
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
|
||||
@@ -51,7 +51,11 @@ void tty_open(void)
|
||||
if (TTY_Fd < 0) {
|
||||
if ((TTY_Fd = open(TTY_Dev, O_RDWR)) >= 0) {
|
||||
tcgetattr(TTY_Fd, &options);
|
||||
#ifndef MAIKO_OS_HAIKU
|
||||
options.c_iflag &= ~(IMAXBEL|IXOFF|INPCK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON|IGNPAR);
|
||||
#else
|
||||
options.c_iflag &= ~(IXOFF|INPCK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON|IGNPAR);
|
||||
#endif
|
||||
options.c_iflag |= IGNBRK;
|
||||
options.c_oflag &= ~OPOST;
|
||||
options.c_lflag &= ~(ECHO|ECHOE|ECHOK|ECHONL|ICANON|ISIG|IEXTEN|NOFLSH|TOSTOP);
|
||||
|
||||
@@ -107,7 +107,7 @@ void ufn(DLword bytecode)
|
||||
(LAddrFromNative(CurrentStackPTR) & 0x0ffff) - (entry68k->arg_num << 1) + 2 /** +1 **/;
|
||||
|
||||
/* Setup IVar */
|
||||
IVar = NativeAligned2FromLAddr((((LispPTR)(CURRENTFX->nextblock)) | STK_OFFSET));
|
||||
IVar = NativeAligned2FromStackOffset(CURRENTFX->nextblock);
|
||||
|
||||
#ifdef LISPTRACE
|
||||
print(entry68k->atom_name);
|
||||
|
||||
@@ -219,7 +219,9 @@ int fork_Unix(void) {
|
||||
/* interrupts need to be blocked here so subprocess won't see them */
|
||||
sigemptyset(&signals);
|
||||
sigaddset(&signals, SIGVTALRM);
|
||||
#ifndef MAIKO_OS_HAIKU
|
||||
sigaddset(&signals, SIGIO);
|
||||
#endif
|
||||
sigaddset(&signals, SIGALRM);
|
||||
sigaddset(&signals, SIGXFSZ);
|
||||
sigaddset(&signals, SIGFPE);
|
||||
@@ -234,19 +236,23 @@ int fork_Unix(void) {
|
||||
/* JRB - fork_Unix is now called in ldeboot; leave UnixPipe{In,Out} open
|
||||
and put their numbers in the environment so parent can find them */
|
||||
/* JDS - NB that sprintf doesn't always return a string! */
|
||||
|
||||
/* NHB - if the return value of snprintf() is greater than or equal to the
|
||||
* size argument, the string was too short and some of the printed
|
||||
* characters were discarded. However we're printing numbers, so we know
|
||||
* that the buffer is big enough
|
||||
*/
|
||||
char tempstring[30];
|
||||
|
||||
snprintf(tempstring, sizeof(tempstring), "%d", UnixToLisp[0]);
|
||||
(void)snprintf(tempstring, sizeof(tempstring), "%d", UnixToLisp[0]);
|
||||
setenv("LDEPIPEIN", tempstring, 1);
|
||||
|
||||
snprintf(tempstring, sizeof(tempstring), "%d", LispToUnix[1]);
|
||||
(void)snprintf(tempstring, sizeof(tempstring), "%d", LispToUnix[1]);
|
||||
setenv("LDEPIPEOUT", tempstring, 1);
|
||||
|
||||
snprintf(tempstring, sizeof(tempstring), "%ld", StartTime);
|
||||
(void)snprintf(tempstring, sizeof(tempstring), "%ld", StartTime);
|
||||
setenv("LDESTARTTIME", tempstring, 1);
|
||||
|
||||
snprintf(tempstring, sizeof(tempstring), "%d", UnixPID);
|
||||
(void)snprintf(tempstring, sizeof(tempstring), "%d", UnixPID);
|
||||
setenv("LDEUNIXPID", tempstring, 1);
|
||||
|
||||
close(LispToUnix[0]);
|
||||
@@ -273,7 +279,7 @@ int fork_Unix(void) {
|
||||
DBPRINT(("Input packet wrong length: %zd", len));
|
||||
exit(1);
|
||||
}
|
||||
slot = IOBuf[3];
|
||||
slot = (int)IOBuf[3];
|
||||
IOBuf[3] = 1; /* Start by signalling success in return-code */
|
||||
|
||||
switch (IOBuf[0]) {
|
||||
@@ -349,7 +355,7 @@ int fork_Unix(void) {
|
||||
perror("slave socket");
|
||||
exit(1);
|
||||
}
|
||||
sprintf(PipeName, "/tmp/LPU%ld-%d", StartTime, slot);
|
||||
(void)snprintf(PipeName, sizeof(PipeName), "/tmp/LPU%ld-%d", StartTime, slot);
|
||||
memset(&addr, 0, sizeof(struct sockaddr_un));
|
||||
addr.sun_family = AF_UNIX;
|
||||
strcpy(addr.sun_path, PipeName);
|
||||
|
||||
@@ -776,7 +776,7 @@ LispPTR uraid_commands(void) {
|
||||
break;
|
||||
case 's': /* SHELL */
|
||||
switch (vfork()) {
|
||||
case -1: (void)fprintf(stderr, "uraid: Fork failed.\n"); exit(1);
|
||||
case -1: (void)(void)fprintf(stderr, "uraid: Fork failed.\n"); exit(1);
|
||||
|
||||
case 0: (void)execl("/bin/sh", "sh", "-i", NULL); exit(1);
|
||||
|
||||
@@ -864,7 +864,9 @@ int device_before_raid(void) {
|
||||
#ifdef XWINDOW
|
||||
/* So X events still get recognized. */
|
||||
sigemptyset(&signals);
|
||||
#ifndef MAIKO_OS_HAIKU
|
||||
sigaddset(&signals, SIGIO);
|
||||
#endif
|
||||
sigprocmask(SIG_UNBLOCK, &signals, NULL);
|
||||
#endif
|
||||
|
||||
@@ -901,7 +903,7 @@ char *alloc_hideDISP(int size)
|
||||
{
|
||||
case SFS_NOTSWITCHABLE :
|
||||
if((retaddr =malloc(size)) ==0){
|
||||
fprintf(stderr,"can't alloc hide space\n");
|
||||
(void)fprintf(stderr,"can't alloc hide space\n");
|
||||
}
|
||||
break;
|
||||
case 0 :
|
||||
@@ -925,7 +927,7 @@ char *alloc_hideDISP(int size)
|
||||
printf("Hidespace inside Lisp(4)\n");
|
||||
}
|
||||
else if((retaddr=malloc(size)) ==0){
|
||||
fprintf(stderr,"can't alloc hide disp\n");
|
||||
(void)fprintf(stderr,"can't alloc hide disp\n");
|
||||
}
|
||||
printf("Hidespace new\n");
|
||||
break;
|
||||
|
||||
19
src/uutils.c
19
src/uutils.c
@@ -204,18 +204,10 @@ LispPTR unix_getparm(LispPTR *args) {
|
||||
#else
|
||||
envvalue = "mc68020";
|
||||
#endif
|
||||
|
||||
} else if (strcmp(envname, "OSNAME") == 0) {
|
||||
envvalue = MAIKO_OS_NAME;
|
||||
} else if (strcmp(envname, "ARCH") == 0) {
|
||||
#if defined(sparc)
|
||||
envvalue = "sun4";
|
||||
#elif defined(DOS)
|
||||
envvalue = "dos";
|
||||
#elif defined(MAIKO_OS_MACOS)
|
||||
envvalue = "i386";
|
||||
#else
|
||||
envvalue = "sun3";
|
||||
#endif
|
||||
|
||||
envvalue = MAIKO_ARCH_NAME;
|
||||
} else if (strcmp(envname, "DISPLAY") == 0) {
|
||||
#if defined(XWINDOW)
|
||||
envvalue = "X";
|
||||
@@ -239,10 +231,13 @@ LispPTR unix_getparm(LispPTR *args) {
|
||||
struct passwd *pwd;
|
||||
if ((pwd = getpwuid(getuid())) == NULL) return NIL;
|
||||
envvalue = pwd->pw_gecos;
|
||||
} else if (strcmp(envname, "HOSTID") == 0) {
|
||||
}
|
||||
#ifndef MAIKO_OS_HAIKU
|
||||
else if (strcmp(envname, "HOSTID") == 0) {
|
||||
snprintf(result, sizeof(result), "%lx", gethostid());
|
||||
envvalue = result;
|
||||
}
|
||||
#endif /* MAIKO_OS_HAIKU */
|
||||
#endif /* DOS */
|
||||
else
|
||||
return NIL;
|
||||
|
||||
@@ -235,7 +235,7 @@ void VESA_enter(DspInterface dsp)
|
||||
if (VESA_describemode(dsp->graphicsmode) != 0) {
|
||||
_setvideomode(_DEFAULTMODE);
|
||||
_clearscreen(_GCLEARSCREEN);
|
||||
fprintf(stderr, "Can't set VESA mode %o.\n", dsp->graphicsmode);
|
||||
(void)fprintf(stderr, "Can't set VESA mode %o.\n", dsp->graphicsmode);
|
||||
exit(0);
|
||||
}
|
||||
/* Get the segaddr. An addr. is a seg shifted 4 bits! */
|
||||
@@ -326,7 +326,7 @@ VESA_errorexit(char *s, int errno)
|
||||
{
|
||||
_setvideomode(_DEFAULTMODE);
|
||||
_clearscreen(_GCLEARSCREEN);
|
||||
fprintf(stderr, s);
|
||||
(void)fprintf(stderr, s);
|
||||
fflush(stderr);
|
||||
exit(errno);
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ void VGA_setmax(DspInterface dsp)
|
||||
struct videoconfig vc;
|
||||
|
||||
if (!_setvideomode(_MAXRESMODE)) {
|
||||
fprintf(stderr, "Can't set graphics mode.\n");
|
||||
(void)fprintf(stderr, "Can't set graphics mode.\n");
|
||||
exit(1);
|
||||
}
|
||||
_getvideoconfig(&vc);
|
||||
|
||||
@@ -487,7 +487,7 @@ LispPTR vmem_save(char *sysout_file_name)
|
||||
|
||||
TIMEOUT(rval = rename(tempname, sysout_file_name));
|
||||
if (rval == -1) {
|
||||
fprintf(stderr, "sysout is saved to temp file, %s.", tempname);
|
||||
(void)fprintf(stderr, "sysout is saved to temp file, %s.", tempname);
|
||||
return (FILECANNOTWRITE);
|
||||
}
|
||||
|
||||
|
||||
@@ -136,8 +136,8 @@ Pixmap make_Xicon(DspInterface dsp)
|
||||
Lisp_icon_height);
|
||||
|
||||
} else if (value == BitmapFileInvalid)
|
||||
fprintf(stderr, "Iconpixmapfile %s contains invalid bitmap data\n", iconpixmapfile);
|
||||
(void)fprintf(stderr, "Iconpixmapfile %s contains invalid bitmap data\n", iconpixmapfile);
|
||||
else if (value == BitmapNoMemory)
|
||||
fprintf(stderr, "Not enough memory to allocate icon pixmap\n");
|
||||
(void)fprintf(stderr, "Not enough memory to allocate icon pixmap\n");
|
||||
return (IconPixmap);
|
||||
} /* end make_Xicon */
|
||||
|
||||
40
src/xrdopt.c
40
src/xrdopt.c
@@ -110,30 +110,30 @@ extern struct sockaddr_nit snit;
|
||||
|
||||
void print_Xusage(const char *prog)
|
||||
{
|
||||
fprintf(stderr, " %s options:\n", prog);
|
||||
fprintf(stderr, " [-sysout] [<sysout>] -path to the Medley image\n");
|
||||
fprintf(stderr, " -h[elp] -prints this text\n");
|
||||
fprintf(stderr, " -info -prints configuration info\n");
|
||||
fprintf(stderr, " -d[isplay] <host>:<display>.<screen>\n");
|
||||
fprintf(stderr,
|
||||
(void)fprintf(stderr, " %s options:\n", prog);
|
||||
(void)fprintf(stderr, " [-sysout] [<sysout>] -path to the Medley image\n");
|
||||
(void)fprintf(stderr, " -h[elp] -prints this text\n");
|
||||
(void)fprintf(stderr, " -info -prints configuration info\n");
|
||||
(void)fprintf(stderr, " -d[isplay] <host>:<display>.<screen>\n");
|
||||
(void)fprintf(stderr,
|
||||
" -g[eometry] <geom> -size & placement for the medley window on your X "
|
||||
"screen\n");
|
||||
fprintf(stderr,
|
||||
(void)fprintf(stderr,
|
||||
" -sc[reen] <geom> -size & placement for the medley display\n");
|
||||
fprintf(stderr, " -t[itle] <string> -titlebar text for the window manager\n");
|
||||
fprintf(stderr, " -icontitle <string> | -it <string> -text for the medley icon\n");
|
||||
fprintf(stderr, " -iconbitmap <path> | -ibm <path> -bitmap for the medley icon\n");
|
||||
fprintf(stderr,
|
||||
(void)fprintf(stderr, " -t[itle] <string> -titlebar text for the window manager\n");
|
||||
(void)fprintf(stderr, " -icontitle <string> | -it <string> -text for the medley icon\n");
|
||||
(void)fprintf(stderr, " -iconbitmap <path> | -ibm <path> -bitmap for the medley icon\n");
|
||||
(void)fprintf(stderr,
|
||||
" -xsync -turn XSynchronize on. (default is off)\n\n");
|
||||
#if defined(MAIKO_ENABLE_NETHUB)
|
||||
fprintf(stderr,"\
|
||||
(void)fprintf(stderr,"\
|
||||
-nh-host dodo-host Hostname for Dodo Nethub (no networking if missing)\n\
|
||||
-nh-port port-number Port for Dodo Nethub (optional, default: 3333)\n\
|
||||
-nh-mac XX-XX-XX-XX-XX-XX Machine-ID for Maiko-VM (optional, default: CA-FF-EE-12-34-56) \n\
|
||||
-nh-loglevel level Loglevel for Dodo networking (0..2, optional, default: 0)\n\n");
|
||||
#endif
|
||||
fprintf(stderr, "Please refer to the manual for further information.\n\n");
|
||||
exit(0);
|
||||
(void)fprintf(stderr, "Please refer to the manual for further information.\n\n");
|
||||
exit(EXIT_FAILURE);
|
||||
} /* end print_Xusage() */
|
||||
|
||||
/************************************************************************/
|
||||
@@ -206,9 +206,9 @@ void read_Xoption(int *argc, char *argv[])
|
||||
if (XrmGetResource(commandlineDB, "ldex.display", "Ldex.Display", str_type, &value) == True) {
|
||||
(void)strncpy(Display_Name, value.addr, value.size);
|
||||
} else if (getenv("DISPLAY") == (char *)NULL) {
|
||||
fprintf(stderr, "Can't find a display. Either set the shell\n");
|
||||
fprintf(stderr, "variable DISPLAY to an appropriate display\n");
|
||||
fprintf(stderr, "or provide a -display argument.\n");
|
||||
(void)fprintf(stderr, "Can't find a display. Either set the shell\n");
|
||||
(void)fprintf(stderr, "variable DISPLAY to an appropriate display\n");
|
||||
(void)fprintf(stderr, "or provide a -display argument.\n");
|
||||
print_Xusage(argv[0]);
|
||||
} else {
|
||||
envname = getenv("DISPLAY");
|
||||
@@ -228,7 +228,7 @@ void read_Xoption(int *argc, char *argv[])
|
||||
}
|
||||
XCloseDisplay(xdisplay);
|
||||
} else {
|
||||
fprintf(stderr, "Open_Display: cannot connect to display %s.", XDisplayName(Display_Name));
|
||||
(void)fprintf(stderr, "Open_Display: cannot connect to display %s.", XDisplayName(Display_Name));
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
@@ -248,7 +248,7 @@ void read_Xoption(int *argc, char *argv[])
|
||||
(void)strncpy(sysout_name, value.addr, value.size);
|
||||
}
|
||||
if (sysout_name[0] == '\0') {
|
||||
fprintf(stderr, "Couldn't find a sysout to run;\n");
|
||||
(void)fprintf(stderr, "Couldn't find a sysout to run;\n");
|
||||
print_Xusage(argv[0]);
|
||||
}
|
||||
|
||||
@@ -329,7 +329,7 @@ void read_Xoption(int *argc, char *argv[])
|
||||
ether_host[4] = b4;
|
||||
ether_host[5] = b5;
|
||||
} else {
|
||||
fprintf(stderr, "Missing or bogus -E argument\n");
|
||||
(void)fprintf(stderr, "Missing or bogus -E argument\n");
|
||||
ether_fd = -1;
|
||||
exit(1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user