aboutsummaryrefslogtreecommitdiff
path: root/src/program.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/program.c')
-rw-r--r--src/program.c4
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);
}