aboutsummaryrefslogtreecommitdiff
path: root/interp.c
diff options
context:
space:
mode:
Diffstat (limited to 'interp.c')
-rw-r--r--interp.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/interp.c b/interp.c
index 4adcda2..75742f8 100644
--- a/interp.c
+++ b/interp.c
@@ -303,8 +303,15 @@ SExpRef Interp_load_file(Interp *interp, const char *filename) {
FILE *fp = NULL;
fp = fopen(filename, "r");
if (fp == NULL) {
- return new_error(interp, "Failed to open file: %s\n", filename);
- goto end;
+ str_builder_t sb;
+ init_str_builder(&sb);
+ str_builder_append(&sb, "/usr/local/share/bamboo-lisp/libs/%s", filename);
+ fp = fopen(sb.buf, "r");
+ free(sb.buf);
+ if (fp == NULL) {
+ return new_error(interp, "Failed to open file: %s\n", filename);
+ goto end;
+ }
}
Parser_set_file(interp->parser, fp);
SExpRef sexp, ret;