diff options
Diffstat (limited to 'src/program.c')
-rw-r--r-- | src/program.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/program.c b/src/program.c index 9ec1b41..17aee03 100644 --- a/src/program.c +++ b/src/program.c @@ -91,6 +91,10 @@ int amal_program_add_extern_func(amal_program *self, BufferView name, void *func ProgramExternFunc extern_func; extern_func.func = func_ptr; extern_func.args_byte_size = args_byte_size; + + if(hash_map_contains(&self->extern_funcs_map, name)) + return AMAL_PROGRAM_EXTERN_FUNC_ALREADY_EXISTS; + return hash_map_insert(&self->extern_funcs_map, name, &extern_func); } |