Mon 16 Mar 11:09:06 CET 2026
This commit is contained in:
parent
6e2bda3868
commit
e48c212e0d
39
src/ccall.c
Normal file
39
src/ccall.c
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
#include "config.h"
|
||||
#include "types.h"
|
||||
#include "error.h"
|
||||
#include "lexer.h"
|
||||
#include "ops.h"
|
||||
#include "mem.h"
|
||||
#include "stack.h"
|
||||
#include "reg.h"
|
||||
#include "utils.h"
|
||||
#include "vm.h"
|
||||
#include "printf.h"
|
||||
#include "ccall.h"
|
||||
#include "context.h"
|
||||
#include "event.h"
|
||||
#include "debug.h"
|
||||
|
||||
/*
|
||||
Table of xternal C function handlers. Must be initialized by host application.
|
||||
*/
|
||||
ccall_t *ccalls=NULL;
|
||||
|
||||
|
||||
void CCallInit(ccall_t *_ccalls) {
|
||||
ccalls=_ccalls;
|
||||
// ccall index jump list
|
||||
int i=0,j=0;
|
||||
char c;
|
||||
do {
|
||||
c=ccalls[i].name[0];
|
||||
j=i;
|
||||
while (ccalls[j].name && ccalls[j].name[0]==c) j++;
|
||||
if (ccalls[j].name) {
|
||||
while (i<j) {
|
||||
ccalls[i].next=j;
|
||||
i++;
|
||||
}
|
||||
} else break;
|
||||
} while (ccalls[i].name);
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user