1
0
mirror of https://github.com/Interlisp/maiko.git synced 2026-03-02 09:46:27 +00:00
Commit Graph

840 Commits

Author SHA1 Message Date
Bruce Mitchener
0880b2f3dd Remove UNSAFE flag. (#134)
This flag was for SunOS 3 and 4 on sun3 hardware (68k).

It enabled some unsafe optimizations via assembler. This hasn't
actually been built since the DOS port (since the header for this
was renamed, but the code in `xc.c` wasn't updated).

The optimizations here made assumptions that were specific to the
68k hardware and register allocation. They aren't likely to be
of much use moving forward, and we've got plenty of safe performance
improvements from the last 30 years of hardware advances.
2020-12-26 20:53:47 +00:00
Larry Masinter
100b0968cf Merge branch 'master' of https://github.com/interlisp/maiko into cygwin3 2020-12-25 11:15:18 -08:00
Nick Briggs
ac48a9bf9d Fix typo in environment variable name that broke interprocess communications (issue Interlisp/medley#106) (#132) 2020-12-24 10:02:20 -08:00
Larry Masinter
db281a361c Merge branch 'master' of https://github.com/interlisp/maiko into cygwin3 2020-12-24 17:17:29 +00:00
Bruce Mitchener
bf2855be58 Use the real gethostid on Solaris. (#121)
* Use the real gethostid on Solaris.

Solaris has this, so we might as well use it like we do on other
platforms. This value is used in response to queries from it from
Lisp.

* Improve undefining of HAS_GETHOSTID.

Enable it on Solaris in `inc/version.h`. This file already
disables it on DOS, so no need to do so again in `src/initsout.c`.
2020-12-23 19:55:58 -08:00
Larry Masinter
e452a97e22 setup for cygwin (compiles but crashes) 2020-12-24 01:55:27 +00:00
Bruce Mitchener
3ef2d12115 Use memset instead of bzero. (#131) 2020-12-23 10:34:27 -08:00
Bruce Mitchener
985f2c43fe Remove prototypes for getenv. Use stdlib.h. (#122)
This also removes some casts to `char *` that were present but
not needed, since `getenv()` is defined to return `char *`.
2020-12-23 15:44:16 +00:00
Bruce Mitchener
530aa4ce6d Simplify including sun/fbio.h. (#130)
Both sides of this #ifdef were the same, so just collapse it.

This code isn't actually relevant any longer, but this removes
an OS-specific #ifdef, making inspection of platform specific
code a bit easier.
2020-12-23 15:34:14 +00:00
Bruce Mitchener
16019c24eb Don't use dirent's d_reclen as if it were d_namlen. (#128)
This code was treating the `d_reclen` incorrectly from some of the
original old porting work. It is not the same as `d_namlen` and
`d_namlen` is not widely supported or standard. It should be using
`strlen(d_name)`.

This addresses an issue mentioned in interlisp/medley#103.
2020-12-22 23:26:56 -08:00
Bruce Mitchener
9aeac67592 Only include stropts.h on Solaris. (#125) 2020-12-22 23:09:42 -08:00
Bruce Mitchener
4ef79b54a5 Remove unused prototype for getpass(). (#123)
This function wasn't actually used here, which is good since it
is long deprecated.
2020-12-22 23:06:14 -08:00
Bruce Mitchener
a6ef508a7c Remove ToMem macro. (#120)
We can always use `memcpy` to copy from a `hostent` struct to a
`sockaddr_in` struct as they will not be overlapping.
2020-12-22 22:57:40 -08:00
Bruce Mitchener
8b67b6b75a Remove call to ieee_handler(). (#119)
When `FLTINT` is defined (which is currently only on SunOS), if
`OS5` was not defined, then it tried to use `ieee_handler` which
doesn't exist on Linux and friends. If we were to enable `FLTINT`
on more platforms, then we'd want to always be using more modern
signal handling and not `ieee_handler`.
2020-12-22 22:57:19 -08:00
Bruce Mitchener
33369268c1 Include termios as <termios.h>, not <sys/...>. (#118)
termios is available via `<termios.h>` on all supported platforms,
so variants of `<sys/termio.h>` and `<sys/termios.h>` are no
longer needed.
2020-12-22 22:56:54 -08:00
Bruce Mitchener
d3cb239091 Remove #ifdef DEMO. (#116) 2020-12-22 17:27:59 +00:00
Bruce Mitchener
37c410eb31 X*.h headers weren't cleaned up after renaming and merging. (#112)
* Check.h, Stipple.h, XCursors.h, XWaitCur.h, Xcursdef.h,
  Xdefcur.h, and Xicon.h were combined into xbitmaps.h.
* Xdisplay.h is not used and the contents are in MyWindow.h, which
  is used.
* XVersion.h and Xdeflt.h became xdefs.h. Remove 2 stragglers
  that were still including XVersion.h.
2020-12-21 19:13:30 -08:00
Nick Briggs
b901038367 Fix typo #ifdef RESWAPPEDDCODESTREAM -- should be RESWAPPEDCODESTREAM (#106) 2020-12-22 01:53:47 +00:00
Bruce Mitchener
bed68c8dda Remove unused retfun function. (#111) 2020-12-21 18:09:14 +00:00
Bruce Mitchener
5835dbd9f6 Remove display name handling block ifdef'd for X11R1. (#110)
X11R1 was released in 1987 and superseded by X11R2 in 1988.

We should be able to safely remove this code. We set the
preprocessor variable on all platforms to indicate that we're
on X11R4 (or later, I guess).
2020-12-21 18:04:28 +00:00
Nick Briggs
ce7eb99b05 Remove unused CursorImage code and related pixmaps (#109) 2020-12-21 17:55:27 +00:00
Bruce Mitchener
942b22886e Remove CLX support. (#90)
CLX is a Common Lisp implementation of the X client library.

It has some code in C, which was present here as `src/socket.c`
and `src/socdvr.c`, exposed via opcodes in `src/subr.c`. This code
had been removed (with prejudice apparently) by commenting out
the code in `src/subr.c` with `#if NEVER`.

This code would've been used by the Medley system images, but
that code doesn't appear to be present. (There may or may not
be something related in `XMAS` in the Medley repository.)
2020-12-19 19:59:41 -08:00
Javier Olaechea
ecaf50c015 Replace calls to putenv with setenv (#99)
* Use setenv instead of putenv

* Replace sprintf with snprintf

* unixfork.c: Stack allocate tempstring
2020-12-19 19:51:41 -08:00
Nick Briggs
6fb4b9a189 Remove sccs id lines (#98)
* Remove static char *id = from all source files.

The same information is included in a comment in each source file.

* Remove unused template file 'id'
2020-12-19 19:08:52 -08:00
Bruce Mitchener
d5ff4011a9 Clean up extern int errno and errno.h inclusions. (#102)
Closes interlisp/medley#86.
2020-12-20 03:07:23 +00:00
Nick Briggs
ade0e7d4a6 Revert "integer multiply overflow wasn't catching all cases (#100)" (#101)
This reverts commit 761ab8cac6.
2020-12-19 10:00:57 -08:00
Larry Masinter
761ab8cac6 integer multiply overflow wasn't catching all cases (#100) 2020-12-19 05:29:18 +00:00
Bruce Mitchener
d4f72d96e1 Remove FSERROR define as it is always on. (#96)
The FSERROR define is on all the time now. It was not controlling
all of the functionality, with many places setting Lisp_errnno
outside of the code controlled by the define.
2020-12-17 09:33:20 -08:00
Bruce Mitchener
53acd3f2b1 Remove src/colorbltfns.c (#95)
This was renamed into `src/rawcolor.c` when the renaming for DOS
happened.
2020-12-17 09:27:43 -08:00
Bruce Mitchener
9416aa7c40 Remove call-c.c (#94)
This incompletely defines a function `call_c_fn`. This is actually
defined in `src/foreign.c` (and called from `src/subr.c`).
2020-12-17 08:38:02 -08:00
Bruce Mitchener
674c9c56cf Remove extra arg to open when loading sysout. (#93)
The `open()` call can take a third argument (for when the mode
is `O_CREAT`). However, it is not needed here as we aren't
using `O_CREAT`. (And if we needed an extra arg, it wouldn't
have been `NULL`.)
2020-12-17 08:36:46 -08:00
Bruce Mitchener
9b9c7b0283 Missing return type for make_kbd_instance(). (#92)
We don't fill in other missing types here as the code relies
upon missing types for the arguments to the various callbacks.
2020-12-17 08:35:28 -08:00
Nick Briggs
fe0f9fff2c FD_ISSET requires that the fd being tested is >= 0 (#78)
* FD_ISSET requires that the fd being tested is >= 0, so unset fd -1 causes trouble.

* Remove code to enable X I/O signal generation from xinit.c

If the I/O signals are enabled before the signal handler has
been set up, the default action on receipt of a SIGPOLL or SIGIO
will be that the program exits.  For now, turn the signals off,
as they aren't necessary and may not even be an improvement.

* Ensure fds are declared as signed and initialized (to -1)

The global fds may be accessed from the signal handler before any
particular device has been opened.  Ensure that the fds are initialized
statically and that the value is distinguishable from all valid descriptors.

	modified:   initdsp.c
	modified:   initkbd.c
	modified:   keyevent.c
	modified:   osmsg.c
	modified:   rs232c.c
	modified:   timer.c
	modified:   tty.c
2020-12-16 22:09:18 -08:00
Bruce Mitchener
0d4d9a5368 asmbbt: Fix signature for bitblt. (#89)
This was an error in the conversion from K&R C prototypes.
2020-12-16 11:11:50 -08:00
Bruce Mitchener
ff778f6044 timer.c: Remove _BSD_SOURCE. (#88)
This isn't needed to build, so let's not have it.
2020-12-16 11:10:48 -08:00
Bruce Mitchener
be88851eaf Remove USE_UTIME. (#87)
This wasn't enabled and the corresponding code wouldn't have
compiled. The `utime()` function is also deprecated in POSIX.

This used to be enabled for HPUX and RISCOS.
2020-12-16 11:06:14 -08:00
Bruce Mitchener
0a57ca5142 Remove asmbitblt.c, duplicate of asmbbt.c. (#85)
When things were renamed for DOS, `asmbitblt.c` became `asmbbt.c`,
but the old file got left around. It was never converted fully
from K&R prototypes, but apart from that, is the same as `asmbbt.c`.
2020-12-16 10:54:23 -08:00
Bruce Mitchener
2050ae69a6 Cleanup mkvdate.c includes. (#81)
All platforms need `<time.h>` for `time` / `ctime`.
All non-DOS platforms need `<sys/time.h>` for `gettimeofday()`.
2020-12-16 07:04:28 +00:00
Bruce Mitchener
847af10c0a main.c has no dependency upon unixfork.h. (#79)
This avoids a bit of confusion, since unixfork.c isn't built into
the same executable as main.c. (It is part of `lde` instead.)
2020-12-16 05:52:42 +00:00
Bruce Mitchener
ab7329d602 unixfork: read() returns ssize_t. (#77)
We should do this more widely, but this will let us see if we
have any problems across platforms from making this change.
2020-12-15 18:46:20 -08:00
Nick Briggs
525bda44c8 index/rindex are deprecated in favor of strchr/strrchr so use them directly (#71) 2020-12-15 12:55:30 -08:00
Bruce Mitchener
022b3b2721 Clean up unixfork.c includes. (#69)
This also removes some platform ifdef-ery.
2020-12-15 10:14:12 -08:00
Nick Briggs
d3a94b2d86 gcc says error: C++ style comments are not allowed in ISO C90 2020-12-15 09:51:36 -08:00
Bruce Mitchener
3de2787166 Use settimeofday() instead of stime(). (#65)
Also, fully initialize timeval usec to 0. (Noticed by @nbriggs.)
2020-12-15 09:45:51 -08:00
Bruce Mitchener
e6a5d898c5 Remove more AIX (but not really AIX) ifdefs. (#66)
Trying to remove / replace / update all remaining AIX ifdefs.
2020-12-15 09:02:26 -08:00
Bruce Mitchener
30f51a0601 Switch from ioctl/FIONBIO to fcntl/O_NONBLOCK. (#64) 2020-12-15 08:38:14 -08:00
Bruce Mitchener
680e8485fe Remove unused timeoday.c and timeofday.c files. (#62) 2020-12-15 08:09:04 -08:00
Bruce Mitchener
433a659063 Require termios on Unix. (#61)
Remove the USETERMIOS preprocessor definition as well.
2020-12-15 08:05:59 -08:00
Nick Briggs
50c4aa24d6 Interface page storagefullstate is only defined if NEW_STORAGE. 2020-12-14 22:35:55 -08:00
Bruce Mitchener
f6ab28d273 Convert nearly-dead code to using statvfs, not statfs. Remove unused stat buf. (#60)
This code is for non-DOS, non-XWindows, and still used the legacy
statfs API.
2020-12-14 22:24:32 -08:00