Re-implement Obey in C
Detail: The module has been re-implemented in C.
- Makefile altered to build C
- cmhg file created
New source files
c.module - module, service call, and environment handlers, argument parsing
c.env - utility functions for changing environment
c.list - adding / removing ObeyFiles from list in our workspace
c.globals - messagetrans lookup
c.obeyfile - opening and closing ObeyFiles, and main processing loop
s.veneer - veneers for environment handlers, missing functions from OSLib
Docs.State - an explanation of various constants introduced to identify the current state of an ObeyFile.
The environment is handled slightly differently to avoid having to create a (machine code) stub for each Obeyfile.
Each invocation uses 100 bytes more stack. So less nesting is available (e.g. 57 levels vs 70 levels depending on use).
Admin: Runs !Boot sequence from disc.