[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: suggestions for new version
- From: lhf@... (Luiz Henrique de Figueiredo)
- Date: Mon, 17 Mar 1997 14:24:46 -0300
>Embedded systems don't generally have file (or even console) I/O. Often
>there's just a serial port. You can often get a crippled "libc.lib" for
>these systems that provides do-nothing stubs for the I/O functions.
>
>You could eliminate iolib and tell your users they cannot use readfrom() etc.
>You could also provide basic console I/O via your serial line, and define
>an 'error' fallback that wrote the string to it but you would still need:
>
>>>> A function lua_dochunk(void *) that executed a down-loaded copy of
> luac.out, held somewhere in memory.
>
>As far as I can see this is *all* you would need, provided you are prepared
>to fiddle with the linker and maybe write a few missing stubs yourself; a
>cost I, at least, would be prepared to accept.
I suggest you write a simple stdio replacement that reads from strings.
Something like:
typedef struct {
char* buffer; /* original string */
char* current;
int size;
...
} FILE;
int getc(FILE* f)
{
if (current<(buffer+size)) return *current++
}
etc...
With this replacement, you should be able to use undump.c as is.
Also, you can arrange so that stdin, stdout and stderr act as /dev/null/.
This should be compatible with the rest of the stdio code in Lua.
Now, someone in the world probably has already written such a replacement for
stdio, although it's pretty easy to write too. If you do write it, I'd be
interested.
--lhf