f888905fca
PicoC is a very small C interpreter for scripting. It was originally written as the script language for a UAV's on-board flight system. It's also very suitable for other robotic, embedded and non-embedded applications. The core C source code is around 4000 lines of code. It's not intended to be a complete implementation of ISO C but it has all the essentials. When compiled it only takes a few k of code space and is also very sparing of data space. This means it can work well in small embedded devices. It's also a fun example of how to create a very small language implementation while still keeping the code readable. picoc has been tested on x86-32, x86-64, powerpc, arm, ultrasparc, HP-PA and blackfin processors and is easy to port to new targets. To show it working on the old DECUS grep program (included as one of its tests): % time picoc work/picoc/tests/46_grep.c - case work/picoc/tests/46_grep.c File work/picoc/tests/46_grep.c: "lower-case are always ignored. Blank lines never match. The expression", case '^': case '$': case '.': case '[': case ':': ... 0.651u 0.000s 0:00.68 95.5% 0+0k 0+0io 0pf+0w % wc work/picoc/tests/46_grep.c 557 1991 15172 work/picoc/tests/46_grep.c %
16 lines
584 B
Text
16 lines
584 B
Text
$NetBSD: patch-aa,v 1.1.1.1 2012/04/27 04:48:44 agc Exp $
|
|
|
|
avoid macro fun with cpp definition
|
|
|
|
--- cstdlib/stdio.c 2012/04/26 12:20:00 1.1
|
|
+++ cstdlib/stdio.c 2012/04/26 12:21:03
|
|
@@ -414,7 +414,8 @@
|
|
|
|
void StdioFileno(struct ParseState *Parser, struct Value *ReturnValue, struct Value **Param, int NumArgs)
|
|
{
|
|
- ReturnValue->Val->Integer = fileno(Param[0]->Val->Pointer);
|
|
+ FILE *fp = (FILE *)Param[0]->Val->Pointer;
|
|
+ ReturnValue->Val->Integer = fileno(fp);
|
|
}
|
|
|
|
void StdioFflush(struct ParseState *Parser, struct Value *ReturnValue, struct Value **Param, int NumArgs)
|