#define END 4
+extern uintptr_t* bmodule_main[];
+
+extern void patch_addresses(uintptr_t** p);
+
+extern void binit(void);
+
#endif
#include <string.h>
#include <limits.h>
-extern uintptr_t* b_module_main[];
extern intptr_t i_main(intptr_t argc, const char* argv[]);
FILE* input_unit;
uintptr_t b_flush = (uintptr_t)i_flush;
uintptr_t b_printf = (uintptr_t)i_printf;
-static uintptr_t* b_module_stdlib[] =
+static uintptr_t* bmodule_stdlib[] =
{
&b_char,
&b_lchar,
0
};
-static void patch_addresses(uintptr_t** p)
+void patch_addresses(uintptr_t** p)
{
while (*p)
{
int main(int argc, const char* argv[])
{
- patch_addresses(b_module_main);
- patch_addresses(b_module_stdlib);
+ patch_addresses(bmodule_stdlib);
+ binit();
input_unit = stdin;
output_unit = stdout;
return i_main(argc, NULL);