Commit Graph

19 Commits

Author SHA1 Message Date
Lassi Kortela e3d60bb776 Add const to many utility functions 2019-08-25 22:12:34 +03:00
Lassi Kortela 60ff06fb6d Reorganize error functions and includes
These functions are complicated because they need to be marked
"noreturn" for the compiler. There are several fundamentally
incompatible ways of doing that. Since we have only a few "noreturn"
functions, let's just list all of those in one header file of which
there is a completely different version for each compiler.
2019-08-21 22:06:13 +03:00
Lassi Kortela 023937e5ea Use backward compatible variable initializers 2019-08-19 01:14:09 +03:00
Lassi Kortela a6ecac95e1 Rename fs*.c -> os*.c
I planned to put just the file system routines into these files, but
there are starting to be so many of them that I don't want to
duplicate the same set for networking, subprocesses etc.
2019-08-14 01:15:29 +03:00
Lassi Kortela 2e8153019c Add read-u8 built-in (R7RS)
io.getc gets UTF-8 characters
2019-08-13 22:53:37 +03:00
Lassi Kortela c2da0753af Fix some more "long double" nonsense 2019-08-13 18:51:43 +03:00
Lassi Kortela a28aff6892 Add missing stdint.h includes 2019-08-09 23:25:20 +03:00
Lassi Kortela 1d96278313 Break down dirpath.c into fs_*.c by OS
I much prefer this to using ifdefs. Requires a little help from the build
system but I find it worth it.
2019-08-09 23:12:19 +03:00
Lassi Kortela 99feb308bd Hoist argcount() into its own header file
Muffles compiler warnings about unused function.
2019-08-09 22:08:44 +03:00
Lassi Kortela d6a4029dde Replace idiosyncratic C types with standard ones
For number types, we rely on classic C types (char, short, int, long) to be
the correct sizes. For precise bit widths, use standard intN_t and uintN_t.
For size_t, just use system size_t.
2019-08-09 21:00:03 +03:00
Lassi Kortela d5d7406276 Remove unused Boehm GC hooks 2019-08-09 20:37:42 +03:00
Lassi Kortela fe4550dad7 Replace cvalue_t with struct 2019-08-09 19:36:20 +03:00
Lassi Kortela b48261f21c Replace fltype_t with struct 2019-08-09 19:33:04 +03:00
Lassi Kortela d6f1579e17 Replace cprim_t with struct 2019-08-09 19:26:48 +03:00
Lassi Kortela ece07d2e1a Replace cvtable_t with struct 2019-08-09 19:26:48 +03:00
Lassi Kortela 428e7a3825 Replace builtinspec_t with struct 2019-08-09 19:26:48 +03:00
Lassi Kortela f2fb37e520 Replace ios_t with struct 2019-08-09 19:26:20 +03:00
Lassi Kortela 79d44c0780 Get rid of almost all recursive includes
Simple rule: include files should never include include files.

"Notes on Programming in C", Rob Pike, February 21, 1989
<https://www.lysator.liu.se/c/pikestyle.html>
2019-08-09 19:00:17 +03:00
Lassi Kortela d6f54bc13c Consolidate all C files into a "c" subdirectory 2019-08-09 15:02:58 +03:00